GW Revision History
===================

All modifications to AEMPro and GWv3 are now recorded by the developer in this
file. Mods specific to one application should be noted here. All previous
revision history is appended at the bottom of this file. Modification labels
in this file correspond to labels in Team Coherence. No label has any relevance
to a beta or release version of either AEMPro or GWv3 (excepting that any
beta or release of either software is constructed from a developer-labelled
version).
================================================================================
                       
================================================================================
GWv3 v3.20r38 - Built on 02 June 2008
================================================================================

UNTRACKED - Fixed access violation with conversion templates.

================================================================================
GWv3 v3.20r37 - Built on 30 May 2008
================================================================================

UNTRACKED - Fixed crash and unusual table site values arising from undefined
            'is comcode' values in some older gin archives of v3.12.

UNTRACKED - Don't set items to zero after they are not assigned in manual
            calibration conversion.  If the item has not had any aliased
            values assigned to it, it will be zero anyway.  Otherwise
            the fixes issues where aliased items are overwritten.

================================================================================
GWv3 v3.20r36 - Built on 22 April 2008
================================================================================

UNTRACKED - Updated to handle v3.21 gin files.

UNTRACKED - Always calculate minimum and maximum of objects when loading
            GIN file, since stored min and max has not always been
            historically correct and can cause issues (especially since it is
            not overridable by the user).

================================================================================
GWv3 v3.20r35 - Built on 16 April 2008
================================================================================

UNTRACKED - Fixed invisible CAN enable checkbox in telemetry setup.

================================================================================
GWv3 v3.20r34 - Built on 04 April 2008
HKS v3.20r34 - Built on 11 April 2008
================================================================================

UNTRACKED - Fuel map specific options not being displayed in some cases
            (e.g. view pulse width / duty cycle).

UNTRACKED - Added Gain, scalar and offset fields to the telemetry info. 

================================================================================
GWv3 v3.20r33 - Built on 10 March 2008
================================================================================

UNTRACKED - Added 'quiet' install mode with command line switch '-q'.  This
            automatically accepts user dialogs etc and closes GW after the
            install.

UNTRACKED - Updated global FindXXX functions to search old names.

GA89011299  Cannot set bit parameter high limit to 'ON'.  Implicitly fixed in
            version 3.20r32.

GA89011310  Views menu displays incorrectly when items are hidden due to
            profile change (the column separators do not go in the correct
            place).

GA89011312  Now that limits are stored differently in the template there are
            problems. 
            Now storing limits as real values and converting to raw upon load
            of the template.

================================================================================
GWv3 v3.20r32 - Built on 18 March 2008
================================================================================

UNTRACKED - Updated to use latest gemscom library.  This should fix some issues
            with truncation to integer of user scaled values.

            Also, object search algorithms consider 'old names' by default.
            This should solve some issues with updating templates and telemetry
            setups to gin files where the names or options / parameters etc
            have changed.

================================================================================
GWv3 v3.20r31 - Built on 26 February 2008
================================================================================

UNTRACKED - Fix crc16 calibration checksum calculation for X25.
            CRC checksums will now only be used if the gin file uses CRCLOC
            rather than CHKLOC, instead of checking if the header for the ECU
            defines CRC16 for file transfer blocks.

UNTRACKED - Fix access violation loading some gin files:
            Constructing a vector of pointers leaves the values undefined.
            It appears that the default construction of values using T*()
            (done automatically by vector<T*>) does not work correctly in
            the Borland C++ Builder 5 compiler (the C++ standard says that
            those values should be automatically initialized with NULL).
            This was resulting in access violations when reading gin files
            with forward references to as-yet unallocated objects (e.g.
            chained user scalars).
            Vectors are now explicitly filled with NULL prior to use.

UNTRACKED - Now using 'LoggingSize' from gin file in internal logging setup
            if available.

UNTRACKED - Fixed invalid floating point operation with types using newer
            serialization routines (in particular UserScalar types).

================================================================================
GWv3 v3.20r30 - Built on 21 February 2008
================================================================================

UNTRACKED - Update to latest gemscom lib used in gwv4.

UNTRACKED - Fix setting of ISP blocksize for X25.

UNTRACKED - Fix issues with sign extended values coming from usbcoms.dll which
            resulted in erroneous parameter displays etc.

UNTRACKED - Connecting to ECU for ISP when an appropriate gin file is not
            installed led to access violation.
            User is now offered to opportunity to install a gin file.

UNTRACKED - Possible fix for hang situation when exiting with usbcomms dll open.

UNTRACKED - Added popup menu to profile selection window with 'select all' and
            'clear selection' options.

================================================================================
GWv3 v3.20r29 - Built on 14 December 2007
================================================================================

GA89011311 - Update names of GTP files if importing GTZ for a different version
             of ECU to the one that was exported to the GTZ file.

GA89011302 - Better message if com port cannot be opened -
             suggest checking if another app has the port open.

GA89011298 - Alt-tab and then swicthing back to gw with a parameter list
             combo box 'open' cases AV.

UNTRACKED - Placed "View Selection..." at the top of the Profiles menu.

UNTRACKED - Made profile selection window resizable.

UNTRACKED - Profile view selection window - "Main Profile" visibility is
            now controlled using a check box so that it is normally retained
            when selecting other profiles in the list.

UNTRACKED - Fix invalid floating point operation in parameter window when
            setting limits.

================================================================================
GWv3 v3.20r28 - Built on 16 November 2007
================================================================================

UNTRACKED - Fix issues with limits on parameter grid.

UNTRACKED - Fix issue with loading log setup (did not update parameter list
            correctly).

UNTRACKED - Ask about log reset before opening file and prevent log reset
            dialog box displaying whilst loading in data.

UNTRACKED - Round values in automapping configuration dialog.
            Improved exception safety.
            Set default acuracy value to 0.1.

================================================================================
GWv3 v3.20r27 - Built on 09 November 2007
================================================================================

UNTRACKED - Telemetry setup info: If multipler is zero, display it as '1'.

UNTRACKED - Added reset folders feature and moved folder related config menu
            items into a sub menu.

UNTRACKED - Fixed blank box issue in folder setup dialog.

UNTRACKED - Fixed issue whereby invalid un-creatable folders could be selected
            in the folder setup dialog.

UNTRACKED - Parameter window: Fix issue with limits changing when user scalars
            are changed.
            This will mean that limits stored in templates will be incorrect 
            until they are reconfigured.                                     

================================================================================
GWv3 v3.20r26 - Built on 05 November 2007
================================================================================

UNTRACKED - Fixed crash when modifying pot boxes.

================================================================================
GWv3 v3.20r25 - Built on 29 October 2007
================================================================================

UNTRACKED - Set profile to 'main profile' by default when opening Gin.

UNTRACKED - Reviewed code for parameter window.  Fixed a number of bugs:
            * Removing parameters with cross-profile selection could cause
              Comms library failures.
            * Some parameter values could spuriously update with incorrect
              values.
            * Could get crashes when the parameter list was full.

================================================================================
GWv3 v3.20r23 - Built on 23 October 2007
================================================================================

UNTRACKED - Reset profile selection when opening a new gin/cal file.

================================================================================
GWv3 v3.20r22 - Built on 11 October 2007
================================================================================

UNTRACKED - Fix issue with masking/shifting of word style CTeleX ID's.

UNTRACKED - Change "Global Profile" to "Main Profile".

================================================================================
HKS v3.20r21 - Built on 04 October 2007
GWv3 v3.20r21 - Built on 03 October 2007
================================================================================

UNTRACKED - 'Is Parameter Comm Code' could be undefined for tables and maps in
            some legacy Gin archives.  This now has an effect on calibration
            comparisons making it look like tables with matching fields do not
            match (e.g. LANCER85v0.28).  Loading legacy archives now explicitly
            sets this flag to 'false' to prevent such issues.
            This was done rather than modifying the comparsion code so that in
            the future it will be possible to have maps and tables that use
            parameter addresses in individual sites.

================================================================================
GWv3 v3.20r20 - Built on 02 October 2007
================================================================================

UNTRACKED - Fix type-unsafe use of wsprintf (caused funny characters to be
            displayed in message box when displaying uncalibrated table graph).

UNTRACKED - Fix crash and prevent message box being displayed twice when viewing
            an uncalibrated table graph.

================================================================================
GWv3 v3.20r19 - Built on 01 October 2007
================================================================================

UNTRACKED - Provide access to Gtz files from the manual Gin installation
            process. 

UNTRACKED - Gtz install window: Dont display "install for current ECU" if
            there is not a current ECU.

================================================================================
GWv3 v3.20r18 - Built on 01 October 2007
================================================================================

UNTRACKED - Gtz files are now scanned in addition to gin files when installing
            an ECU via the scan mechanism.

================================================================================
GWv3 v3.20r17 - Built on 27 September 2007
================================================================================

UNTRACKED  - Windows Vista: Fixed problem with 'autolocate' feature in
             "Save As" dialog box causing an overwrite prompt at the dialog
             initialization stage.

UNTRACKED  - Axis user scalars were not being taken into account when
             getting start/offset values for fixed axes.

UNTRACKED  - Update parameters when option user scalars are modified.

UNTRACKED  - Updated splash screen and about box.

================================================================================
GWv3 v3.20r16 - Built on 17 September 2007
================================================================================

GA89011285 - When importing GTZ files, templates could be referencing items
             in the menu registry tree that do not exist on the target. 
             Registry paths are now interpretred as being for the current ECU
             when opening them.

UNTRACKED  - Converting a non-option list item to one with an option list
             now attempts to use the current real value to find the appropriate
             item in the destination option list.

UNTRACKED  - Removed extraneous flag for determining if a user scalar has a
             chained user scalar.  For new archive versions, the state of the
             flag could be incorrect (which broke units handling).  Flag is
             unneccessary, so removed altogether.

================================================================================
GWv3 v3.20r15 - Built on 12 September 2007
================================================================================

GA89011283 - Bitmask loaded incorrectly (bMasked flag not being checked).  This
             caused a problem when converting the fuel map in a Subaru96v2.25
             to Subaru96v2.19.
             Original hunch was that downsampling the map caused a problem -
             added a test case to cover this possibility (it was found that
             this works as expected on a small map).

GA89011284 - Get a dialog box saying "Comms library Failure" when switching
             profiles whilst online and viewing parameter windows that
             change parameter set.

GA89011282 - Using option list in a parameter: with 'mix' style display,
             start oftext is truncated.

UNTRACKED  - Loading a corrupted gin file fails, but ended up with
             uninitialized pointers referenced in the gin structure (leading to
             access violations when the gin struture was subsequently
             destroyed.

================================================================================
GWv3 v3.20r14 - Built on 10 September 2007
================================================================================

UNTRACKED  - Fix issue with incorrect size of internal panels in custom
             option windows.

UNTRACKED  - Store templates as relative paths in menu export files.

UNTRACKED  - Detect relative paths when loading templates.

UNTRACKED  - Attempt to load template from default template folder if it is
             not found initially.

================================================================================
GWv3 v3.20r13 - Built on 10 September 2007
================================================================================

UNTRACKED  - InvalidOperation exception if the profile view selection list
             opened successively.

UNTRACKED  - Custom option views do not change size when items are hidden due
             to profile having been changed.  Reduces flicker + user suprise.

UNTRACKED  - Optimized size of custom option form edit boxes and unit labels.

UNTRACKED  - Fix precision error on map view when a cell has a value of
             100 or more.

================================================================================
GWv3 v3.20r12 - Built on 07 September 2007
================================================================================

GA89011278 - Display resolved name of com code options in comparison window.

GA89011279 - Fixed crash that could occur when block uploading a calibration
             that is exactly divisible by the block size.

GA89011280 - Writing words to ECUs that do not support word writes would
             update the calibration incorrectly upon completion of the writes.

GA89011276 - Telemetry info was only printing 1 page.

GA89011275 - Map X slice was not displaying the correct site value in the
             top-right corner of the window.

GA89011281 - Fix registry at startup if templates + buttons are corrupted.

GA89011274 - Importing GTZ does not clear old template buttons if the gtz
             does not have template buttons itself.

UNTRACKED  - With lots of template buttons, toolbar did not change height so
             that the wrapped buttons are visible.

UNTRACKED  - Set silent overwrite flag correctly from GTZ import dialog.

================================================================================
GWv3 v3.20r11 - Built on 29 August 2007
================================================================================

GA89011269 - Optionsmenu did not display for CCSv1.18
             This was due to CCSv1.18 having a multi-region calibration.
             Options were being displayed for each region in the view menu
             but the option selection box was not picking them up.

GA89011270 - Thick window border (e.g. in windows vista) causes problems with
             the layout of custom option windows.

GA89011272 - Issues with repeated updates on maps not ivoking a repaint of the
             map. Also, fixed issue where undo/redo was not updating map graph.

GA89011271 - GTZ files: upgrading ECU type did not update template names in the
             menu definition.

GA89011273 - Fix crash at startup if opening a cal via the shell.
             (e.g. "Open with..." or dragging cal file onto gw icon)

UNTRACKED  - Set file to unmodified state if matching cal opened.

================================================================================
GWv3 v3.20r10 - Built on 07 August 2007
================================================================================

UNTRACKED  - Fix bug with reading names, units and format strings from gin
             files where the name is the maximum number of allowable characters.

UNTRACKED  - Fix issue loading option start/steps from gin files.

UNTRACKED  - Fix usage of start/offset values that are really option indicies.
             (required fairly extensive changes).

UNTRACKED  - Can Speed was not being stored/loaded from Can Telemetry Setup
             (cts) files correctly.

================================================================================
GWv3 v3.20r09 - Built on 01 August 2007
================================================================================

UNTRACKED  - "Find" box in full list of options was not updating the position
             of the edit box correctly.

UNTRACKED  - "Find" box in full list of options was not accepting muliple key
             strokes.  Fixed this to revert to old behaviour.

UNTRACKED  - Add option to prevent alias warnings in comparisons.

================================================================================
GWv3 v3.20r08 - Built on 20 July 2007
================================================================================

UNTRACKED  - Fix template window positioning issues with windows 98.

================================================================================
GWv3 v3.20r07 - Built on 19 July 2007
================================================================================

UNTRACKED  - Fix out of bounds exception with grid in comparison window that
             occurred if the user used the scroll bar and then the mouse wheel
             before changing the selection.

UNTRACKED  - Minimized windows did not restore to the correct size and position
             after being loaded from a template.

UNTRACKED  - Work around VCL bug where the window position is incorrect
             when minimized.

UNTRACKED  - Log mapping - y weight fraction was calculated differently to
             x weight.
             
================================================================================
GWv3 v3.20r06 - Built on 9 July 2007
================================================================================

UNTRACKED  - Fixed menu import failure with GTZ files.

================================================================================
GWv3 v3.20r05 - Built on 9 July 2007 
================================================================================

UNTRACKED  - Fix a number of access violations that could occur in telemetry
             setup and other forms due to improper use of sprintf.

UNTRACKED  - Prevent selection being lost on map when user scalars are redrawn.

UNTRACKED  - Optimized slow display of templates.

UNTRACKED  - Convert calibration now displays original filename

UNTRACKED  - "Save Calibration" dialog now has an "autolocate" option.

UNTRACKED  - Fix potential crash in new generic map / table axis handling code
             when an axis table does not have an axis parameter.

UNTRACKED  - Replaced padlock on options selection window with a check box to
             make it eaiser to see when it is locked.

UNTRACKED  - Option selection combo box now displays context menu of the option
             selection form (i.e. allows insert / delete menu to pop up).

UNTRACKED  - Avoid potentially locale dependent modification of decimal places
             in strings.

UNTRACKED  - Fix invalid pointer issue with 'Function' operation on tables,
             maps etc.

UNTRACKED  - Added menu option to disable hardware floating point exceptions.

UNTRACKED  - Fix odd behaviour when moving between cells in the option forms
             using the keyboard.

UNTRACKED  - Recommend that the user aborts if there was an access violation.

UNTRACKED  - Fix EInvalidOp that could occur during auto mapping.  Added
             more informative exceptions that are thrown when there is a
             domain error in the auto mapping function.

================================================================================
GWv3 v3.20r04 - Built on 20 June 2007
================================================================================

UNTRACKED  - Fixed undefined behaviour when initially autolocating folder in
             calibration file dialog.

UNTRACKED  - Always update option user scalars when the calibration is changed.

UNTRACKED  - New differences window was not writing to the ECU when copying
             values across (when online).  

================================================================================
GWv3 v3.20r03 - Built on 15 June 2007
================================================================================

UNTRACKED  - Sort out a few issues pertaining to "autolocate folder" in
             calibration file dialogs

UNTRACKED  - Fix crash when:
             Connected ECU,
             Send new Calibration (whilst background downloading, cal is
              discarded)
             Cancelled the file selection.

================================================================================
GWv3 v3.20r02 - Built on 12 June 2007
================================================================================
                      
UNTRACKED  - Fixed compare / convert where resetting the cal processor would not
             reset the ignored items arrays.
                              
UNTRACKED  - raw from real value conversion for (e.g. options) could wrap if
             the object is signed.
             Added unit tests to cover changes.               

UNTRACKED  - Fix issue where last row was not selectable in options window.

================================================================================
GWv3 v3.20r01 - Built on 07 June 2007
================================================================================

UNTRACKED  - Fix resize bugs in map graph window.

UNTRACKED  - Fix resize bugs in map table window.

UNTRACKED  - Fix issue where last row was not selectable in parameters window.

UNTRACKED  - Fix crash when dash window is maximized and then closed.

UNTRACKED  - Add more meaningful messages when GTZ import/export fails

UNTRACKED  - GTZ export failed with version specific menu export file.

UNTRACKED  - Fixed bug in registry path handling when exporting menu.

UNTRACKED  - Fix a few other teething issues with GTZ files.

UNTRACKED  - Conversions of values with user scalars disabled could fail
             due to incorrect minimum / maximum values.

UNTRACKED  - Fix issue with Option List conversions (due to sign).

UNTRACKED  - Copy raw value in "Comm Code" conversions if source or destination
             parameter cannot be found.

UNTRACKED  - Loading user units from the registry was using the incorrect
             charset (e.g. degrees symbol would look strange).

UNTRACKED  - Fix hidden X-Axis label on map graphs.

UNTRACKED  - Checksums were not being checked when connecting.

================================================================================
GWv3 v3.20r00 - Built on 29 May 2007
================================================================================

UNTRACKED  - Fairly major refactoring of code.
             More code that was protocol depenedent has been abstracted.
             Particular areas for testing include options that have parameters
             stored by address as their value.

UNTRACKED  - Comms protocol now uses the same endian-ness as the ECU for
             reads and writes.  This is to aid development of the 14bit protocol
             and future protocols that read blocks of data.
             No little-endian ECU's are out in the field so this should not
             cause any breakages (except old AEMPro software will have problems
             talking to AEM25).

UNTRACKED  - Serialization of ComString objects would mean that the gin could
             not be re-opened.

UNTRACKED  - Complete rework of code for compare/convert functionality -
             it is now possible to convert items with differing numbers of axes
             e.g. options to tables, tables to maps, maps to tables, etc..

UNTRACKED  - Convert is now case-insensitive.

UNTRACKED  - Gin and Calibration objects now managed using reference counted
             pointers.  This has been done due to some implementation issues
             with the comparison window.
             This could *potentially* introduce memory leaks, so some testing
             for this needs to be done.

UNTRACKED  - Modified code for serial telemetry slightly. This will have
             behavioural changes:

             Selecting a parameter in the list will retain the originally
             selected name if there are aliases (but upon re-opening the
             setup, will display the name of the first aliased parameter.

             Addresses stored in the stream that point to non-parameter
             addresses will cause NULL to be written to the ECU in these
             locations when applied.  Such parameters will display as "unused".

UNTRACKED  - ISP: Improve error message when firmware validation fails.

UNTRACKED  - Added baudrate selector to toolbar.

UNTRACKED  - Fix memory leak in output config window.

UNTRACKED  - Fix operator precedence in calculator used for e.g. "Function" on
             map values.  Multiply and divide are now processed before plus and
             minus.

UNTRACKED  - Calculator can now handle unary plus and minus.

UNTRACKED  - Prevent dialog box appearing when checking calibration files for
             other ECU types as part of the connection procedure (when "Check
             All Files" enabled and not using specific ecu name + version
             calibration folders.

UNTRACKED  - Calibration comparisons now all use the same dialog box code for
             both situations where the ECU name/version is the same OR different
             (previously two sets of similar code were used).

UNTRACKED  - Modifying the calibration in any way causes differences windows to
             update.
             e.g. modifying a map in GW will cause the differences to appear in
             a differences window.
             This also has the effect of linking the differences window -
             changes to one differences window can update another.

UNTRACKED  - Refactored "Options Full List" and "Selected Options" views so that
             they share a common base class and removed a lot of code
             duplication.  The behaviour of option windows should now be more
             consistent and the code is now more maintainable.

UNTRACKED  - Option views now using a padlock icon for lock/unlock state.

UNTRACKED  - Implemenation of Windows Registry based option names was
             incomplete, and has now been fully implemented for selected /
             full list option views.
                                                     
UNTRACKED  - Implemented profile hiding for Menus.

UNTRACKED  - Implemented profile hiding for Option views.

UNTRACKED  - Implemented profile hiding for Parameter views.

UNTRACKED  - Implemented profile hiding for Custom Option forms.

UNTRACKED  - Implemented profile hiding for Map and Table views.

UNTRACKED  - Refactored code in custom option forms to use dynamic arrays and
             removed much code duplication.

UNTRACKED  - Fix issue with USB ISP (re-initialization of dll was causing it
             to fail).

UNTRACKED  - Added a "Retrying" box that pops up when a USB enabled ECU has
             not yet enumerated (and retries connecting to it repeatedly).

UNTRACKED  - Allow single-site items to be alphabetically sorted in the
             comparison window.

UNTRACKED  - Implemented "Old Names" handling so that aliases can be replaced
             with simple name references for use in conversions, which
             should result in less Gin file clutter in the future.   It also
             alleviates some problems with respect to converting aliased items.

UNTRACKED  - Implemented "Ignore in compare and convert" to allow aliased items
             (or potentially non-aliased items) to be excluded from calibration
             conversion and comparisons.

UNTRACKED  - Close ecu status window if connection fails during Auto ISP at
             startup.

UNTRACKED  - Implemented "Find Matching Profile" scanner dialog box.

UNTRACKED  - Always write inhibit telemetry value to the ISP Enable Code
             parameter immediately after connecting and before downloading the
             calibration.
             Some ECUs enter into telemetry mode halfway through the download
             otherwise (e.g. subaru running off EPROM, which is really slow).

UNTRACKED  - Added "Save New Version" feature.

UNTRACKED  - Give better error message if the dongle cannot be found (suggests
             downloading the dongle driver).

UNTRACKED  - Calibration open/save dialog boxes now start in the same folder
             as the currently open cal.  (or last cal if none open)

UNTRACKED  - Setting the "Autolocate" check box in calibration dialog boxes
             causes folder to change immediately without having to change
             the file filter box.

UNTRACKED  - Change message when opening unsupported GEMS definition files
             mentioning that GEMS files can be converted to GIN files.

UNTRACKED  - Factored mxp and menu registry handling into a separate class.

UNTRACKED  - Implemented import / export of Gin + Menu + Template packages
             in the form of Gems Template Zip (GTZ) files.  These are
             specially structured zip archives for compactness.

             Templates are saved into the file including their subfolder
             within the default templates folder.

             This allows a complete setup of an ECU with the gin, the menus and
             all required templates for the menu and template buttons.

UNTRACKED  - Added command line and drag+drop support for:
             Installing gin files.
             Opening cal files.
             Importing menu mxp files.
             Running templates.
             Importing GTZ files (gin / template / menu packages).

             This means it is now possible to do a "batch" install of gin files.
             Gin files installed in this way are always copied to the default
             folder for gin files and installed from there.

UNTRACKED  - If parameters are not found when loading Can Telemetry Setup,
             subsequent parameters would not be loaded.

UNTRACKED  - Clicking OK on the folder setup dialog was not flushing edits
             if the editor was still displayed.

UNTRACKED  - Implemented ECU name + version specific menus.

UNTRACKED  - Opening / closing templates no longer changes the default
             templates folder.

UNTRACKED  - Prevent crash when connecting to an ECU that has a gin with no
             regions.

UNTRACKED  - Fix handling of CTele Speed and CTele Bit Rate.

UNTRACKED  - Display list of missing parameters when opening can / serial
             telemetry setup files.

UNTRACKED  - Only ask to set up comms port if the user tries to connect and the
             port is invalid.

UNTRACKED  - Display option address and size in hint bar of application.

UNTRACKED  - Added "Re-read" to selected options form menu to force a read of
             the selected option from the ECU.
                          
================================================================================
GWv3 v3.19r00 - Built on 13 March 2007
================================================================================

UNTRACKED  - Incremented minor version.

UNTRACKED  - Fix "All calibrations" filter latching in open calibration dialog.

UNTRACKED  - Fix calibration filter when saving.

UNTRACKED  - If "All Calibrations" is selected, then remember the last folder
             used, rather than using the default for the current ECU
             name / version.

================================================================================
GWv3 v3.18r30 - Built on 12 March 2007                           
================================================================================

UNTRACKED  - Don't use PCTL to program checksum after uploading calibration.

================================================================================
GWv3 v3.18r29 - Built on 09 March 2007
HKS v3.18r29  - Built on 09 March 2007
================================================================================

UNTRACKED  - Fix an issue with Outlook Express whereby the client window gets
             focus in the 'To' box, but the user cannot click on the window
             or focus any other controls.

UNTRACKED  - If user selects the "All calibrations" filter in the calibration
             file dialogs, default to this selection next time it is opened.

UNTRACKED  - Added template notes feature.

UNTRACKED  - Fixed a memory leak associated with templates.

================================================================================
GWv3 v3.18r28 - Built on 07 March 2007
================================================================================

UNTRACKED  - Map Graph: Cursor values used X-Axis text for both X any Y axes. 

================================================================================
GWv3 v3.18r27 - Built on 5 March 2007
================================================================================

UNTRACKED  - Give disconnect operation a button + accelerator key combination.

UNTRACKED  - Updated icons for the ECU connect / upload cal buttons.

================================================================================
GWv3 v3.18r26 - Built on 5 March 2007
================================================================================

UNTRACKED  - Check All Files was not working, due to incorrectly cheking if
             the CheckAllFiles registry value existed as a key, rather than a
             value.  The code was originally changed to prevent an exception
             if the registry was not correctly setup.

UNTRACKED  - Make it possible to upload the calibration file that is currently
             open.

UNTRACKED  - Add menu item to disconnect from the ECU.

UNTRACKED  - Fix memory leak in MakeIniMap function.

================================================================================
GWv3 v3.18r25 - Built on 28 February 2007
================================================================================

UNTRACKED  - Comms dll updated to version 1.45 - fixes connection problem with
             Lancer7k 2.62 (could not wake the device from telemetry mode).
             Also should improve connection with ATEN serial devices in some
             cases.  Added workaround for bug in ATEN driver with
             GetCommsModemStatus (caused spurious framing errors).

UNTRACKED  - Prevent crash when importing templates.  A progress dialog is now
             displayed during the import.

UNTRACKED  - Dont show failed commands form if no gin file has been loaded yet.

UNTRACKED  - Prevent crash if 'Insert' is used on a parameter window that is
             already full.

UNTRACKED  - Make it possible to disable the failed commands form.

UNTRACKED  - Added new Diff Icons.

UNTRACKED  - Prevent situation where the current Gin file could be leaked -
             leaving parameter windows open referencing the leaked gin file.
             These parameter windows would appear to have stopped updating
             and the coms monitor would suggest that there was no data being
             served by the ECU.

UNTRACKED  - Last item in parameters window could not be added when loaded
             from a template of a parameters window that was full when saved.

================================================================================
GWv3 v3.18r24 - Built on 13 February 2007
HKS  v3.18r24 - Built on 13 February 2007
================================================================================

UNTRACKED  - Comms dll updated to version 1.44 - fixes connection problem with
             ACD when using an ATEN serial adapter.

UNTRACKED  - Download Log would fail for a secured ECU.  Security is now
             checked prior to download.

UNTRACKED  - Fix icon ordering issue with clear templates button.

UNTRACKED  - Always check security access even when the header suggests that
             the ecu is not securable (for Lancer7k s2.46)

UNTRACKED  - Context menu key and right mouse button not causing the popup
             menu to appear in the map 3d graph.

UNTRACKED  - Prevent divide by zero in map manipulation code.

UNTRACKED  - Fix unusual display of Target Log window.

UNTRACKED  - Ensure units are visible on map/logmap displays.

================================================================================
GWv3 v3.18r23 - Built on 12 February 2007
================================================================================

UNTRACKED  - Move 'clear calibration' option in the ECU menu for user safety
             reasons and make 'No' the default dialog button when confirming,
             to prevent this option being selected by accident.

UNTRACKED  - HTML output of comms monitor had red + blue channels reversed.

UNTRACKED  - Prevent premature clipping of lines in the comms monitor.

UNTRACKED  - Added comms stats to the comms monitor (average tx / rx turnaround)

UNTRACKED  - Adjusted alignment in generic message box codes so that buttons
             have a fixed spacing (more consistent with windows UI).

================================================================================
GWv3 v3.18r22 - Built on 09 February 2007
================================================================================

UNTRACKED  - Updated comms dll (now at version 1.43):

             Applied workround for bug in the ATEN serial port driver that
             caused the computer to reboot in some circumstances.

             Fixed problems with log download.

             Added extended data callbacks to enable timestamping with the
             data monitor.

UNTRACKED  - Added timestamping to comms monitor window for performance
             profiling.

UNTRACKED  - Use a shorter comms timeout when initially connecting to the ECU
             to aid connecting to devices that have a short startup window
             before opening a telemetry stream.

UNTRACKED  - When programing checksum, if the operation does not complete
             within a specified timeframe (100ms, currently), then a message
             box is displayed with the option to cancel.
             The PCTL operaton no longer has an enforced timeout.

UNTRACKED  - Telemetry inhibit value for ISP Enable Code set to a value that
             does not enable ISP, only inhibits telemetry.

UNTRACKED  - For the time-being, only display the comms error form if there
             have been multiple retry failures for the same command causing the
             command to be dropped.             

UNTRACKED  - Fix printing of tables.

UNTRACKED  - Display Z axis units on maps.

UNTRACKED  - Display units on map graph axes + improve text justification.

UNTRACKED  - User defined units were not being loaded in some circumstances.

UNTRACKED  - Add toolbar button to close all windows.

UNTRACKED  - Fix some display issues in the comms monitor form:
             fixed multiple repeats of data when there are less lines than
             the window can hold.
             fixed situation where the last visible line would be painted at the
             top of the window.
             Fixed situation where nothing would be displayed on the monitor
             until a full page-worth of data was read and the scrollbar was at
             the bottom.

UNTRACKED  - Custom option windows: display a message box if the view cannot
             be displayed due to the fact that it has no options.

UNTRACKED  - Reduced header dependencies to reduce make-time impact of
             modifying sources (i.e. avoid many application full-rebuilds).

UNTRACKED  - Disabled polling of parameters by warnings popup for the time
             being - affects performance, with little benefit.

================================================================================
GWv3 v3.18r21
HKS  v3.18r00 - Built on 01 February 2007
================================================================================

UNTRACKED  - Fail PCTL read after 200ms (otherwise it is read forever).

UNTRACKED  - Update build for HKS.

UNTRACKED  - Resolved some warnings not picked up by the GW build. Some of
             these identified possible stack corruptions.

UNTRACKED  - Change message in failed commands form on form show (otherwise
             it is only set once).

UNTRACKED  - Check ECU name/version before uploading a cal to ensure that it
             matches the currently connected ECU.  Also reuse gin already
             resident in memory when opening the cal rather than creating a new
             one.

================================================================================
GWv3 v3.18r20 - Built on 31 January 2007
================================================================================

UNTRACKED  - gemscom dll updated (v1.42) - fixes error in command verification
             (one byte of word writes was not being verified).
             Also does round-robin on different request types so that if the
             ECU becomes secured we can still issue commands to it.

             Also should improve on sync problems and comms speed.

UNTRACKED  - Display a modeless dialog when commands to the ECU have
             failed / not verified.  This is to warn the user that the
             calibration might have been corrupted and that they should verify
             the data.
             Also provides opportunity to release security and verify the cal
             via buttons.
             This box should also display if the ECU becomes secured.

UNTRACKED  - Fixed bug in function table loading.

UNTRACKED  - Fixed bug in application of function table limits.

UNTRACKED  - Apply workaround for compiler exception handling bug to all
             exception classes.

UNTRACKED  - Display "No Files Found" in Gin Scanner + Open matching Cal forms.

UNTRACKED  - Recursive search option for Gin Scanner + Open matching Cal forms.

UNTRACKED  - Handle errors in scanning with Abort/Retry/Ignore to give the
             user more control over the process.

UNTRACKED  - Fixed some masking and bitshifting issues with CAN telemetry ID's

================================================================================
GWv3 v3.18r19 - Built on 23 January 2007
================================================================================

UNTRACKED  - gemscom dll updated (v1.40) due to connection problems with ACD.

UNTRACKED  - Added new template icons.

UNTRACKED  - Make selected template icon visible when opening selection box.

UNTRACKED  - Made icon list update automatically when new icons added to
             the project (maintainence optimization).

UNTRACKED  - Return status window behaviour to minimize rather than close the
             connection when the close button is pressed.

UNTRACKED  - Fix problem with freeing of memory in can setup.

UNTRACKED  - Apply workaround for compiler bug with function inlining in
             release build.  When constructing exception objects with a string,
             the compiler inserts two destructor calls on the string temporary
             in the exception handler, leading to undefined behaviour
             (random crashes).

================================================================================
GWv3 v3.18r18 - Built on 18 January 2007
================================================================================

UNTRACKED  - Workaround bug in the VCL when repainting the parameter window.
             Could get unusual cell size if the top grid line of a cell was
             just obscured by the window border and the cell was updated due
             to a parameter update (i.e. not in response to WM_PAINT).

             Optimized repainting slightly by caching two bitmaps that were
             recreated every time a cell was drawn.

UNTRACKED  - Clear calibration would fail if the ECU was secured or had a
             null password.

UNTRACKED  - Display ecu name and version in the window caption when editing
             an untitled calibration.

UNTRACKED  - Added secret method to disable calibration upload during ISP
             procedure.

UNTRACKED  - Fixed dialog loop when cancelling firmware selection during
             ISP procedure.

UNTRACKED  - Prevent exception when user enters a non-decimal string into a
             programmable parameter box.

================================================================================
GWv3 v3.18r17 - Built on 12 January 2007
================================================================================

Note gemscoms.dll has also been updated for this release to improve comms.
The release is binary compatible with older versions.

UNTRACKED  - Inhibit telemetry now on by default.

UNTRACKED  - Made ISP procedure more intuitive to the user.

UNTRACKED  - Remain connected during the ISP procedure to avoid problems
             whereby some ECU's enter into telemetry stream mode.

UNTRACKED  - Program Checksum after ECU clear.

UNTRACKED  - If the ECU has been cleared, some old ecu's may become password
             protected with a NULL password.  Added an additional connection
             step to supply this password automatically if access is denied.

UNTRACKED  - Displaye a message box if the header read from the ECU is not
             valid.
                
UNTRACKED  - Differences window - If the ECU is connected, display "ECU" in the
             grid header rather than the open filename.  If the filenames are
             the same, then display "Open File" to avoid confusion.

UNTRACKED  - Parameters window:

    delegate action of up/down box via the message queue so that if dongle
    access is not enabled and the event handler displays a message box,
    the focus does not get stuck.

    changed edit box handler for programable parameters to check the parameter
    pointer for nullness rather than catching the access violation that can
    occur as a method of flow control.

    Prevent writing of the parameter if the edit box contents hasd not changed.

    Prevent access violation in ChangeParam if the current row is invalid for
    some reason.

UNTRACKED  - Allow programatic writing if ISPEnable if there is no dongle
             access due to the new 'Inhibit Telemetry' feature (this caused
             a whinge box at application startup).


================================================================================
GWv3 v3.18r16 - Built on 15 December 2006
================================================================================

UNTRACKED  - Fix issues with option lists that are referenced by an unsigned
             option.
             Option lists historically used signed 16bit numbers.  This poses
             a problem because the sign is extended when converting to native
             x86 integer.  The min/max values are also set up incorrectly as a
             result.  Unfortunately, these incorrect values are stored in the
             gin file.
             For the moment, the value is clamped if the referencing option is
             unsigned, and the min/max values are ignored for options that have
             option lists.
             Problem observed when changing CTele1 Speed via the can telemetry
             setup.

================================================================================
GWv3 v3.18r15 - Built on 13 December 2006
================================================================================

UNTRACKED  - If writes to (e.g. options) fail, then give up after 16 retries
             and put a message in the status window.

UNTRACKED  - When generating a display string for values, one conversion path
             was incorrectly casting the scaled value to an unsigned integer
             rather than a signed one.

UNTRACKED  - Improve error message when opening the no longer supported
             emerald based gin files.

UNTRACKED  - New file dialog - auto expansion of items in the tree was not
             correct due to an error in the algorithm for locating the tree
             node for the given ECU name / version.

UNTRACKED  - Convert dialog - the ecu name/version auto-located in the new
             type dialog is now that of the calibration selected.

================================================================================
GWv3 v3.18r14 BETA - Built on 05 December 2006
================================================================================

UNTRACKED  - Workmap is now hidden to the user,and the workmap file is now
             hidden along with having the '~cal' file extension.
             If the ecu is connected with no cal loaded, the title bar
             indicates that the calibration is 'Untitled'.  This is to
             discourage use of the volatile workmap file by users.

UNTRACKED  - The workmap is implicitly saved when the ecu is disconnected to
             reduce the frequency of situations where a download is required
             when connecting.

UNTRACKED  - If the calibration has been changed, this is now displayed in the
             title bar of the main window, rather than in the status bar.

UNTRACKED  - After clear calibration, a blank workmap is saved.

UNTRACKED  - Added feature to enable scanning for a calibration that matches
             the region data of the current workmap.  This allows a calibration
             to be opened whilst retaining the connection to the ecu.
             This is acheived by taking a 256bit hash of the clibration data
             and storing a small hidden file (with extension 'gost', named
             after the hashing algorithm used).  The gost file is compared with
             a hash of the workmap to get a quick hint as to the identity of
             the calibration.  (the file is also checked when positively
             compared to be absolutley sure that it is identical to the
             workmap). 

UNTRACKED  - Compare calibration option masked all exceptions that could occur
             during construction, hiding things such as access violations from
             the user.  Serious exceptions should now be handled by the
             application exception handler (or windows).

UNTRACKED  - Comparing calibrations for different ECU versions could have an
             access violation if the number of maps was different.  This was
             hidden from the user, so it would appear that the menu item did
             not do anything.

UNTRACKED  - If the RAM checksum is incorrect when connecting, it will now be
             retried for 200ms before downloading the cal instead.     

UNTRACKED  - Connecting to an ECU no longer validates the internal logging
             list.  This is still performed ufter uploading a calibration
             and also when the internal logging window is opened.

UNTRACKED  - OptionList with no entries could cause an access violation when
             changed.

UNTRACKED  - Changed conversion windows to use automatic memory management,
             greatly improving the exception safety of their construction and
             also reducing memory leakage risks.

UNTRACKED  - Added warnings popup feature - if some predefined options / 
             parameters have bad values, then a warning symbol will be 
             displayed in the status bar that can be hovered over with the 
             mouse to display a list of warnings.

UNTRACKED  - Display of maps such as the fuel map (pulsewidth) could display
             in an unusual way.  This was due to the decimal place calculation
             using the real value from the map, not from the post-scaled value
             incorporating the microsec/bit value.

UNTRACKED  - Differences window:  When copying options, the units field would
             not be updated correctly.

UNTRACKED  - Changed map axes in table view so that all sites have the same
             size.  situation where text was rotated 90 degress would sometimes
             not display correctly at all.

UNTRACKED  - Size calculation for the font size of map cells was incomplete and
             could lead to clipped text in the cells.

UNTRACKED  - Fixed access violation when displaying 3d map with a map that has
             no axis parameters or tables.

UNTRACKED  - Display a warning when converting maps / tables with differing
             dimensions (i.e. sites are interpolated).

UNTRACKED  - Updated splash and about box images.

UNTRACKED  - If Scan for Gin form created with no ECU name / Version,
             unsupported GIN file versions could be added to the list of
             compatible files.

UNTRACKED  - Various possoble crashes fixed in Redraw.cpp

UNTRACKED  - ISP: Error in code that checks firmware file for ecu name +
             version.

UNTRACKED  - ISP: Problems uploading cal to LAN85 ecu's after programming
             firmware - added a "please power cycle" box after the firmware
             has uploaded to try and prevent the ecu from entering into
             telemetry mode before commencing the calibration upload.

UNTRACKED  - Inhibit telemetry preference now stored between runs of the
             application.

================================================================================
GWv3 v3.18r13 BETA - Built on 17 November 2006
================================================================================

UNTRACKED  - When doing an ISP on LAN853P H0.63, the ECU would go offline on
             some machines causing problems with the procedure.
             It appears that this is because the ECU enters into telemetry mode
             and stops talking to the PC.
             The ECU firmware has been updated to inhibit entering into ISP
             mode if the ISPEN register is set to a non-zero value.
             We now write 0xBB to this during the ISP procedure to prevent
             comms issues.

UNTRACKED  - Added feature to allow the user to manually inhibit the ECU from
             entering into telemetry mode.  Note that not all ECU's support
             this, but it is not currently possible to determine if this is the
             case - hence the option is always available.
             Feature is located in the ECU menu.

UNTRACKED  - Scan for Gin form had non-xp window decorations and a scrollbar.

UNTRACKED  - CTele ID options without bit specifiers were not being handled
             correctly, leading to the can id being written to the ECU
             incorrectly.

UNTRACKED  - The "CTele? ID?? Ext" options were causing conflicts, again
             resulting in incorrect data being written to the ECU.

UNTRACKED  - Serial telemetry setup: fixed crash when selecting "(Not Used)"
             items in the list.

UNTRACKED  - Serial telemetry setup: fixed erroneous parameters showing up with
             "Show Info" when there are unused parameters in the list.

UNTRACKED  - Parameters grid of serial telemetry page was not auto-fitting its
             column correctly upon opening the form.

UNTRACKED  - Telemetry Info - rather than displaying scalar and offset, a
             scaling function is now provided.  This ensures that correct
             scaling is shown for parameters using reciprocals.
                                                                  
UNTRACKED  - Telemetry Info - user scalars are now taken into account when
             generating the scaling function.

UNTRACKED  - Telemetry Info -page now prints in landscape mode.

UNTRACKED  - Telemetry Info - When printing the info, fixed error whereby a
             blank page would be fed from the printer.

UNTRACKED  - Simplified scaling code for parameters etc.  This should not
             change the operation of the application.

================================================================================
GWv3 v3.18r12 BETA - Built on 09 November 2006
================================================================================

UNTRACKED  - Fixed another possible crash when interrupting background
             download.

UNTRACKED  - Clear calibration would overwrite the default template with a
             blank template.

================================================================================
GWv3 v3.18r11 BETA - Built on 07 November 2006
================================================================================

UNTRACKED  - Branched gemscom source tree to gemscom/v3

UNTRACKED  - Prevent possible crash when closing the telemetry setup window
             and no can telemetry.

UNTRACKED  - Fixed possible crash when clearing the ISPEnable flag and no
             calibration open.

UNTRACKED  - LoadOptionUserScalars could corrupt user scalars if a calibration
             is not resident in memory (e.g. after log download).

UNTRACKED  - First block marker in logs (v0.02) was undefined, and could lead
             to a very rare situation where no markers would be added at all.

UNTRACKED  - Interrupting background calibration download could crash.
             (e.g. close app, re-connect, begin ISP etc)

UNTRACKED  - Whilst doing a background download, parameters were no longer
             updating.

UNTRACKED  - Folder names without a trailing backslash stored in the registry
             could cause problems - particularly when ECU directories used for
             calibrations.

UNTRACKED  - Folders grid - entering a folder using the edit control was not
             persisting.

UNTRACKED  - When installing gin, file shares (e.g. \\server\xx) were not
             handled correctly when determining if the file resided on a fixed
             disk.

UNTRACKED  - Use nicer directory selection box in scan for gin dialog.             

UNTRACKED  - Prevent possible assertion when converting binary numbers that
             are <= 0 to strings.  This was problematic because a fast log2
             is used to determine the digit count (which is illegal for such
             values).
             In release builds this may have caused unusual display issues with
             binary numbers, or possibly even crashes.

UNTRACKED  - If reconnecting to the ECU and the workmap file had not yet been
             saved to disk, the downloaded data would be lost.
             This is now saved implicitly when the file is closed, so should
             prevent some situations where GW uneccesarially downloads the cal
             from the ECU.

UNTRACKED  - If the current calibration is the workmap and it has changed, the
             user is now given the option to overwrite the workmap or save a
             copy.

UNTRACKED  - If a calibration download is performed when connecting to the ECU,
             then the file is now considered to be changed.

UNTRACKED  - Fix possible crash with telemetry setup (Show Info button).

UNTRACKED  - Fix possible crash following log download.

UNTRACKED  - If the calibration has changed, the "File Changed" box in the
             status bar is now fixed and does not flash.
             Changed because it is visually distracting for the user.

GA89011081 - Log map window - now posting a resize message after the form is
             initially displayed to prevent unusual display issues.

UNTRACKED  - Possibly fixed an issue where baudrate would sometimes be set to
             9600 baud.  This could not be reproduced and the issue has been
             fixed via code inspection.

================================================================================
GWv3 v3.18r10 BETA - Built on 28 September 2006
================================================================================

UNTRACKED  - Prevent access violation if GW tries to open a non-existing gin
             file at startup.  It now also displays the filename to the user.

UNTRACKED  - If the COM port stored in the registry does not exist at startup,
             an exception could be thrown because the event handler to create
             the main form had not been completed (in a modal loop for the port
             setup dialog box), and MDI children of the main window were
             being created off the message loop (which need the parent form to
             have been created).

================================================================================
GWv3 v3.18r09 BETA - Built on 27 September 2006
================================================================================

UNTRACKED  - Made 16bit binary numbers fit in the parameters window.

================================================================================
GWv3 v3.18r08 BETA - Built on 26 September 2006
================================================================================

UNTRACKED  - Virtual COM ports were not being enumerated (they were not
             registered with the Windows(r) Setup API).

================================================================================
GWv3 v3.18r07 BETA - Built on 25 September 2006
================================================================================

UNTRACKED  - Fix possible access violations when reconnecting.

================================================================================
GWv3 v3.18r06 BETA - Built on 20 September 2006
================================================================================

GA89011076 - Difference windows did not display comcode options with by name.

UNTRACKED  - Fixed crash when opening dash windows.

UNTRACKED  - Changed behaviour when the 'Disconnect' button of the Comms window
             is clicked (when the ECU is offline).
             This now just puts the ECU into a disconnected state, asking the
             user if they would like to wait for ECU commands to complete before
             entering offline mode.  This is in an attempt to prevent a plethora
             of possible problems arising when everything is closed whilst
             events are being processed.

UNTRACKED  - Display hex in upper case.

UNTRACKED  - Some negative values were being coverted using an unsigned integer,
             meaning that they would display as very large numbers rather than
             a small negative number.

UNTRACKED  - Selected Options window - edit box was being clipped when the font
             was large.

UNTRACKED  - Installing a GIN did not always update calibration wildcards
             for file dialogs.

UNTRACKED  - Allow 16 bit numbers to be bitmasked.

UNTRACKED  - If entering hex or binary for an option (or similar) that is not
             a decimal base, assume that it is a real value, rather than a raw
             value.  For decimal options, entering hex orbinary adjusts
             the raw value.

UNTRACKED  - STL exceptions were being handled by the VCL application exception
             handler as EExternalException objects.  If the Exception record
             shows that the original exception was an STL one, then the
             exception message and type name is now extracted.

UNTRACKED  - If the sacn for gin files detects an unsupported gin version,
             then it is now ignored.

================================================================================
GWv3 v3.18r05 BETA - Built on 12th of September 2006
================================================================================

GA89011120 - Clear the isp enable code parameter (if available) upon connecting
             to the ecu.

GA89011125 - Display comms data in the comms monitor when doing an ISP.

GA89011124 - When openingaCAL that does not have a GIN file installed,
             offer to install one.

GA89011123 - When connecting to an ECU that does not have a GIN file
             installed, offer to install one.

GA89011122 - Scan for GIN files.
             When selecting a GIN file to install (and the ecu name + version
             required is already known), display a list of GIN files within
             a given directory that fit the name / version.

GA89011121 - When installing GIN files, gw should check if the file is not
             on a fixed disk (i.e. the hard disk). 
             If it isn't, then the user is given the option to copy it
             before installing it.

GA89011104 - Reset registry feature.

GA89011119 - Setup of default directories.
             Ensure that directories are on a fixed disk.

GA89011118 - Check that the GIN file is installed for a particular FIN file
             before allowing the upload.

GA89011117 - Upload calibration at the end of ISP (optional)

GA89011115 - Fixed crash that sometimes happens when opening a template that
             was created for a different ECU.

             The crash occurs when there are dashboards with parameters that
             are not in the gin.
             Unfortunatelyparametersarestoredbyindexindashtemplates
             andcannotbe fixedup.
             Thiswillmeanthatitishighlylikelythatdasheswillbe
             linkedtothewrongparameters.
             This related issue will be fixed in GWv4.           

GA89011101 - If a template is imported, and it references dash board files that
             do not exist, the error message now includes the name of the
             missing file, rather than saying "A Dashboard has been deleted".

GA89011081?- Map tables do not always get drawn correctly when they are first
             opened, but look ok after resizing the window.  Attempted to fix
             this by posting a WM_SIZE message to the window after it is
             initially displayed.
             To be verified.             
                           
GA89011114 - Dash windows: Tacho armature could exceed defined limits and
             wrap around.

GA89011102 - Undo on a graph updates line, but the value as shown in the top
             corner remains at original value.

GA89011112 - Display of map values was always floating point, even when GIN
             defined the value as (e.g.) integer.

GA89011100 - If ECU is not installed when connecting or opening a calibration,
             offer option to install it immediately.

GA89011113 - Allow options to be inputin hex (raw) and binary.

UNTRACKED  - Changes to Raw value to String coversions on ecu objects
             (options / parameters etc).

UNTRACKED  - Attempted to prevent getting the EWaitForEcuException.  This is
             problematic because of the way that the setting of calibration
             data in the ecu is done at present.
             Ideally, changes to the cal would be instant in GW and written
             to the ECU in the background (potentially 'compressed' if there
             are multiple changes to the same address).  This would mean that
             the ECU could be disconnected without losing changes - actually
             disconnecting the ECU would be easier.  This will require
             extensive changes.  Maybe one for GWv4.
             Upon connecting to the ECU and discovering that the checksum is
             wrong, the user could then have the option of sending the workmap
             rather than downloading the potentially corrupted cal in the ECU.

UNTRACKED  - Changed offline / processing commands handling.
             Was no longer displayiong the 'processing ecu commands' box.
             Also it was possible that the 'ECU disconnected' box could pop-up#
             erroneously.

UNTRACTED  - Up/Down edit focus on option windows could get trapped when online.

UNTRACKED  - New file window now resizable and offers opportunity to install a
             GIN file.

UNTRACKED  - Made Install ECU window resizable.
             Modified so that the ECU list is not cleared and refreshed after
             installing an ECU - only the removed / added ECU is refreshed.

UNTRACKED  - Setting the text of an option in 'full list' and 'list selection'
             boxes now uses common code, so should now be more consistent.

UNTRACKED  - Editing 'bit' type options now allows text to be entered that is
             converted to the bit value more appropriately
             (accepts 'ON' and 'OFF', '0' and '1')

UNTRACKED  - Full list of options allowed modification of read only options.

UNTRACKED  - If an option is read only, the up/down box is now hidden when the
             option is selected.

UNTRACKED  - Edit boxes in option windows now have no border.

UNTRACKED  - Combobox size in option windows adjusted slightly so that it looks
             a little better.

UNTRACKED  - Option 'full list' window no longer uses the TVEdit class to
             handle validation.  The option itself handles validation of
             entered text.  This means that both types of option window are
             more consistent and there is now less code.
             Additionally, occasional compilation errors have been observed
             when using TVEdit which used to require a full application rebuild.

UNTRACKED  - Closing the ISP window whist it was waiting for the timer to fire
             (most likely the 2 second pause at the end) would crash because
             the closure pointer held by the timer object would be a
             dead reference.

UNTRACKED  - Added easter egg so that clear calibration can be disabled by
             double clicking on the box next to the item (when doing ISP).             

================================================================================
GWv3 v3.18r04 BETA - Built on 25th of July 2006
================================================================================

UNTRACKED  - Rebuilt executable with small changes to shared source code.
             Should have minimal impact.

================================================================================
GWv3 v3.18r03 BETA - Built on 21st of July 2006
================================================================================

UNTRACKED  - Fixed broken modification of maps with programming parameters.

================================================================================
GWv3 v3.18r02 BETA - Built on 29th of June 2006
================================================================================

GA89011093 - Email calibration feature fixes:
             If new or modified cal, should prompt for save.
             If no cal open, menu item should be greyed.

GA89011090 - Map Axes and parameters did not update correctly when the options
             of option user scalars were modified.
             Offset of user scalars was not being applied to Map axes.
             The initial update of user scalars was also setting the real value
             with the raw value, which was resulting in the display of
             dependents momentarially displaying an incorrect value.

GA89011072 - Fixed possible infinite loop when closing Telemetry Setup window.
             Caused by CAN options that don't have a bitmask.

GA89011088 - Options with a bitmask were not taking the bitmask into account
             when calculating the precision to use for display in option lists.

GA89011092 - Improve error messages on win98 boxes when WinAPI exceptions are
             thrown.

GA89011086 - Undo of an option that is selected in an option window did not
             update until the focus from the edit control was lost.

GA89011082 - Modified some dialog box layouts so that they display
             better on systems with unusual window metrics:
             Telemetry Info
             Comms Monitor
             Print Selection Window

GA89011042?- Fixed possible invalid pointer operation when closing internal
             logging setup window.

UNTRACKED  - Tables would occasionally have black text on a black background
             for the cells along the top of the table.

UNTRACKED  - Fixed out of bounds array access when creating can telemetry
             (leading to access violation).

UNTRACKED  - Protocol flags were being incorrectly set under some circumstances,
             which could cause various things to fail - such as attempting to
             write words to an ECU that didn't support word writes.

UNTRACKED  - Fixed Broken Security Access.

UNTRACKED  - Ensure that ECU comms does not halt after clearing the
             calibration by writing 0xff's into the password field.
             Now displays a dialog box once cleared to get the user to power
             cycle the ECU.

UNTRACKED  - When loading in user scalars from the GIN file, it was possible
             to get floating point exceptions due to unititialised double
             precision floating point values being converted to single
             precision floats.  This was a rare occurrence, since the exception
             would only occur if the unititialized value held NAN or -NAN.

UNTRACKED  - Changes to comms broke writing word values for options etc - the
             two bytes of a word write would both be written to the same
             address.

UNTRACKED  - For ECU's that support Word Writes, options, tables etc now get
             written with a single word write command rather than splitting the
             operation into two separate byte writes.

UNTRACKED  - Comms failures when downloading the cal via the "connect" window
             could potentially have corrupted the calibration.

UNTRACKED  - Added 'X' button on telemetry info window.
UNTRACKED  - Added minimize / maximize buttons to the dashboard windows.
             Dashboard editor form is now modeless and can be minimized /
             maximized.

UNTRACKED  - Use Oem -> Ansi charset conversion for option list items.
UNTRACKED  - Use Ansi charset for units in telemetry info window.

UNTRACKED  - View of floating point values for things like map / table axes
             could display strangely if the number was less than 0.1.

UNTRACKED  - Gin file handling has been changed internally to support new c++
             compiler. Emerald based Gin files are no longer supported as a
             result.  An additional reason is that ComCodes were stored in
             packed format in the emerald file, which makes it more difficult
             to support the new (and future) protocol(s).
             Emerald based calibration files are still used.
             Emerald GIN files are convertible with the GWE application.

UNTRACKED  - Added some code to avoid some potential access violations when
             closing the Logging Setup form.

UNTRACKED  - When the application encounters an exception, the dialog box now
             offers more appropriate options:
             Abort:  Immediately abort the application.
             Ignore: Ignore the exception and return to the application.
             The main drive for this is that with some exceptions the app can
             end up in a loop after accepting the error.
             This then means that the application can only be killed with task
             manager, which is usually quite annoying.

UNTRACKED  - Modified exception handler to display the run-time type name of
             caught exceptions.

UNTRACKED  - Added automatic byte count handling for CAN telemetry setup.

UNTRACKED  - Added Byte count to CAN telemetry setup file.
             Added Message Rate to CAN telemetry setup file.

GWv3 v3.17r02  built on 25 May 2006
===================================

Extensive refactoring underway, so there may be some bugs introduced.

UNTRACKED  - Downloading log could fail due to incorrect handling of ComCodes
             The protocol is now honoured when doing comparisons.

GA89011071 - Variable precision views of floating point values restricted to
             options only.

UNTRACKED  - Added Clear Calibration menu item.

UNTRACKED  - Changed all IniMap (calibration) handling to use an exception safe
             Global Heap locking strategy.  There were some instances where
             memory was locked more times that it was unlocked.  This may have
             caused very occasional problems on older versions of windows.

UNTRACKED  - Implemented new GIN file serialization mechanism for new versions
             of GIN file.  This will make the code much more maintainable
             and will also reduce the size of Gin files.
                                         
MAP3000 v1.01r8  built on 26 May 2006
======================================

UNTRACKED  - Options displayed by custom option forms did not display some
             units correctly (incorrect character set conversion).

MAP3000 v1.01r7  built on 24 May 2006
======================================

GA89011087 - Potboxes were not working after a change in exception handling
             that led to a typo - erroneously disabling potboxes when enabled
             and enabling them when disabled.

UNTRACKED  - ISP would not clear calibration if the calibration name size in
             the gin was 0 (item was called CalSize).
             The intention was to bypass the calibration clear step if there
             was no calibration to clear.
             Code now checks to see if the first memory region is empty before
             bypassing the clear.

             
Note that several changes have been rolled back to previous versions - see
annotations in the release history of:

MAP3000 v1.01r6
MAP3000 v1.01R5
GWv3 v3.17r1

All of these changes will be reintroduced in future versions.  This release is
for essential bug fixes only, and the changes have been rolled back because
the main line code is being refactored to improve maintainability in future
releases.  The code will not be branched at this point.

MAP3000 v1.01r6  built on 10 May 2006
======================================

[rolled back in MAP3000 v1.01r7]
UNTRACKED  - Fixed broken handling of cal files (was due to an operator
             precedence error in modified com code handling code).

MAP3000 v1.01R5  built on 09 May 2006
======================================

[rolled back in MAP3000 v1.01r7]
UNTRACKED  - Partially implemented new 14bit addressing and implementing new
             GIN file serialization mechanism (changes will require a new GIN
             version).

[rolled back in MAP3000 v1.01r7]
GA89011071 - Variable precision views of floating point values restricted to
             options only.

GA89011075 - Check of engine stopped when secured and calibration clear
             requested dropped, text added to the dialog box to inform the
             user that the calibration clear will not work if the engine is
             running.

UNTRACKED  - "Show Info" on CAN telemetry setup window could give rise to an
             access violation.

UNTRACKED  - Fixed repainting when user cancels connect.


GWv3 v3.17r1  built on 03 May 2006
===================================

UNTRACKED  - Possibly related to GA89010946, where load offset and load scalar
             could not be changed online.
             When using the spin buttons to modify values in the
             "Selected Options" window, the focus would get "stuck" on the spin
             button and it would not be easy to get back to normal operation.

UNTRACKED  - Added a fast comms monitoring window as a partial step towards
             feature request GA89011041, which is for a comms diagnostics mode.
             The new comms window displays raw comms between ECU and GW so that
             you can see possible problems.  The diagnostics mode will add
             the ability to check that sent data matched received data with
             a comm port loopback.
             This requires version 1.38 of the gemscomms dll.

GA89011040 - Added ability to page through tables and maps in the order they
             are in in the GIN file, closing down the previous map before
             opening the next one. This is to allow for quick browsing
             through the calibration for a quick sanity check of data.

             Uses keybindings Ctrl+Shift+PgUp and Ctrl+Shift+PgDwn, which
             are displayed in the status bar when hovering over the respective
             window types with the mouse.

GA89010959 - Added email calibration feature.  This uses MAPI.dll, which may or
             may not be available depending upon the version of Windows.

[rolled back in MAP3000 v1.01r7, reintroduced in head code base]
UNTRACKED  - Made precision variable for display of real values - when modifying
             some options there was no feedback to the user that the value had
             actually changed because the display value was truncated.
             GW now attempts to pick an appropriate precision based
             upon the minimum change up/down from the current value.

UNTRACKED  - Added null parameter to selection boxes for ComCode options.

UNTRACKED  - Changed hint text for dashboard tool buttons.


GWv3 v3.16r14  built on 05 Mar 2006
AEMPro v3.23r9 built on 05 Apr 2006
===================================

UNTRACKED  - ISP was not working correctly.

UNTRACKED  - Fixed strange behaviour when manipulating parameters grid.

AEMPro v3.23r8 built on 04 Apr 2006
===================================

UNTRACKED  - TelemetryInfo dialog box did not display 'OK' button.

UNTRACKED  - Display of TelemetryInfo with undefined parameters could cause an
			 access violation.

UNTRACKED  - Possible infinite loop when closing selected options dialog box
		     after opening full list of options, causing application to lock.

UNTRACKED  - Prevent Comms form from being destroyed whilst the application
			 event loop was re-entered (waiting for ecu commands to complete).
             destruction is now defferred to a later time to prevent numerous
             access violation opportunities.

UNTRACKED  - General changes to memory management (prevents some memory leaks).

UNTRACKED  - CAN telemetry should no longer have an upper limit on the number
			 of possible messages. 

AEMPro v3.23r7 built on 30 Mar 2006
===================================

UNTRACKED  - Fixed bug in modified ISP code, where ecu header descriptor could
			 become invalid.

UNTRACKED  - Fixed redrawing issues with 'DOWNLOADING' / 'VERIFY' status bar
             panel.

UNTRACKED  - Fixed redrawing of security status bar panel.

UNTRACKED  - Status bar now updates correctly after the 'Connecting...' window
             is closed in some circumstances.

UNTRACKED  - Access violation fix:
			 Break serial connection to ECU and immediately edit an option
             value.  "ECU Connection Lost" dialog should appear.
             Hit F7 to reconnect.
             Say "No" to save.
             Re-make serial connection.

UNTRACKED  - Access violation fix:
			 Insert extra blank fields into a parameter window then press left
             mouse button and drag over empty cells.

UNTRACKED  - Sped up background download of calibration for USB device in
			 AEMPro.

GWv3 v3.16r12  built on 24 Mar 2006
AEMPro v3.23r6 built on 24 Mar 2006
===================================

UNTRACKED  - Connecting to ECU could fail by incorrectly reporting that the
             comms dll needed to be upgraded.

GWv3 v3.16r11  built on 23 Mar 2006
AEMPro v3.23r5 built on 23 Mar 2006
===================================       

GA89011038 - Download of internal log from ECU was being truncated.

GA89011039 - Upload of ECU firmware would not work correctly if the baudrate
             was automatically detected as a different value from that in the
             registry.

GA89010980 - Modifying calibration whilst ECU disconnected, attempting to save,
             modifying calibration again and then disconnecting and saying 'no'
             to the save dialog led to an access violation.

UNTRACKED  - ECU firmware upload using crc16 checksums was not working.
             [development issue]
                                 
UNTRACKED  - Added status bar hinting.

AEMPro v3.23r4 built on 20 Mar 2006
MAP3000 v1.1r4 built on 20 Mar 2006
===================================
GA89011036 - Feature to reduce load on lower powered cpu's when accessing menus
            etc was also preventing data from being logged with the internal
            logger.

If the application is logging data, the stream is not halted, even if the user
has a preference for reduced cpu load.

GA89010979 - Change of calibration file type when browsing changes current
            folder to the folder registered for the given calbration type.

Added checkbox to the open calibration dialog box to allow the user to enable
or disable this feature (preference is stored in the registry).

UNTRACKED - Exceptions were being thrown with 'new' semantics, rather than value
            semantics, leading to some small memory leaks.

AEMPro v3.23r3 built on 17 Mar 2006
===================================
GA89011001 - Issues with menus causing undefined behaviour.

    Fixed re-allocation of menu items - reuse meant that some properties of
    menu items were in inappropriate states, leading to undefined behaviour.

GA89011002 - Issues with Primary Injector Battery Offset wizard.

    Opening the Primary Injector Battery Offset wizard provides a
    wizardwithnoparameters that crashes the application when the 'ok'
    button is pressed.

    Wizard should now disable the OK button if the requested wizard is not
    available from the WCF file.

    Fuel Map window should now request the correct wizard.

UNTRACKED - Optimized user menu removal code

    Gives significant speed increase when closing a calibration file with a
    large number of user menus.

GWv3 v3.16r10 built on 15/02/05
===============================
UNTRACKED - Completed support for fast calibration upload/download

UNTRACKED - Completed support for crc16 when using block transfers.

AEMPro v3.23r2 built on 07/02/05
================================
UNTRACKED - Found floating point error in MapWnd. Division calculation
done on rectangle width, which may be invalid (zero). Put a check in for this.

UNTRACKED - When doing a convert, the message box which asks if you want to
convert by com code now defaults to 'no'.

UNTRACKED - Added most of the code for fast calibration transfer. Code is
currently disabled waiting firther development with AEM25.

UNTRACKED - Added most of the code for crc16 checksum. Code is
currently disabled waiting firther development with AEM25.

UNTRACKED - Found an issue with the new menu code where tags
could contain invalid data. Added a validation check.

UNTRACKED - In map windows where the X axis is derived from a table it was
not possible to edit the values directly. This has now been rectified.

AEMPro v3.23r1 built on 20/12/05
================================

AEMPro v3.23 built on GW095 08/12/05
==================================
GWv3 v3.16r9 built on GW095 08/12/05
==================================

UNTRACKED - Found some major object leaks relating to the menu code. Will
significantly stabilise use when repeatedly reconnecting to ECUs.

UNTRACKED - When downloading log files using the version 0.02 schema, logs
with multiple segments will cause power up markers to be added to the log.

GA89010983 - When setting up a selected option list, the tab key can be used
not only to move from field to field, but also to add a new option
to the grid. (Simply tab past the last occupied grid to add a new row).

GA89010980 - Changing option values after ECU is disconnected no longer
causes an exception.

UNTRACKED -  In the full option list, boolean values failed to toggle state
in response to the space key. Repaired this functionality.

UNTRACKED - In MapGraphWindows which display the Fine Adjust check box, the
main window no longer responds to arrow keys. Moved handlers handlers into
the check box since it is the only control on the form.

UNTRACKED - Found issue when attempting to read unnassigned floating point
values from registry, an exception would not be trapped and the resultant
value would be undefined. This may have coasued several obscure floating point
issues reported, including GA89010982.

GA89010978 - Configure Options dialog didn't always correctly filter
assigned pins.

GA89010979 - In the AEM build, browsing for calibrations did not follow the
Name/Version directory rules.

GA89010974 - Added support on the telemetry setup dialog for CAN Rx setup.

GWv3 v3.16r8 built on GW094 09/11/05
=====================================================
UNTRACKED - Implement in circuit programming for AEM board AEM25.

UNTRACKED - Implement alternate baud rate checking for AEM build (to allow
switching between AEm15 and AEM25 boards).

UNTRACKED - Implement USB connection choice for AEM build.

GA89010973 - When converting a calibration, then target selection tree should
expand to the type of ECU you are using, and be listed alphabetically.

GA89010972 - When an Option User Scalar is set to zero, make sure it is
upgraded to a one before being saved to the log.

GA89010969 - When saving a converted file, the dialog shows the original
version, not the new version.

MAP3000 v1.01r2 built on 07/11/05
=================================
UNTRACKED - An issue was found with the latest release of MAP3000 whereby the
hourglass cursor would be visible most of the time.

MAP3000 v1.01r1 built on 02/11/05
=================================
AEMPro v3.23Pre2 built on 28/10/05
==================================
GWv3 v3.16r8Pre9 built on 26/10/05
==================================
UNTRACKED - Fixed issue where attempting to download a log when none is present
causes the connection window to not close properly.

AEMPro v3.23Pre built on 25/10/05
=================================
GWv3 v3.16r8Pre8 built on 21/10/05
==================================
UNTRACKED - Added support for new logging frame schema (V0.02)

UNTRACKED - Added ability to clear writeable COM options.

UNTRACKED - issue with map graph window where when moving cursor in map table
window, the cursor in map graph window lags by one position.

UNTRACKED - issue with the wizard code where the option matching check fails
because of confusion over matching negative byte values with negative word
values.

UNTRACKED - issue where writeable parameters could not be changed from the
keyboard.

AEMPro v3.22 built on GW093 10/10/05
====================================
GWv3 v3.16r7 built on GW093 14/09/05
====================================
GW093 14/09/05
==============
UNTRACKED - Strange behaviour when max / min limits are set for parameters,
based on the conversion between float / int.

UNTRACKED - In the Scalar window, when changing a value, repeatedly hitting
<return> will toggle between old value and new value.

UNTRACKED - In the Parameter window, values updated from the Scalar
window do not display correctly, until the focus is given to the Parameter
window.


GWv3 v3.16r6 built on GW092 09/09/05
====================================
GW092 09/09/05
==============
UNTRACKED - various table drawing errors found with previous version,
sorted by doing a full rebuild.

GWv3 v3.16r5 built on GW091 08/09/05
====================================

GW091 08/09/05
==============
UNTRACKED -  Access violation when displaying tables when connected to ECU.

UNTRACKED -  The 'use last folder' option now allows the selection dialog to
show the full calibration filter list.

GA89010940 - Prevented modification of logmaps when downloading calibration
data. 

GWv3 v3.16r4 built on GW090 06/09/05
====================================
GW090 06/09/05
==============
UNTRACKED - Problem loading older .gdf  files corrected.

GA89010942 - Improved visual appearance of map window, specifically relating
to the font choice allowing some room around edge of grid.

GA89010943 - Enumerate available COM ports to make it easier to work with
USB-serial converters.

GWv3 v3.16r3 built on GW089 23/08/05
====================================
HKS v3.16r3 built on GW089 01/09/05
===================================
GW089 23/08/05
==============
GA89010936 - Modified OptionWnd to correctly handle options when they are
booleans or options list. Added a standard edit box for use with these types.
 
GA89010087 - Added tickboxes to map window and table window which allow the user
to toggle between fine adjustment mode (+/- 1/10 units) and the default mode
which will now be +/- 0.5%/5% of current value.

GA89010713 - Allow the option of viewing the map window values as differences
from the startup values. Accessed via context menu option 'View session changes'

UNTRACKED - Make sure all the new labels and features in the map view use the
correct colour options chosen by the user.
 
AEMPro v3.21 built on GW088 05/08/05
====================================
HKS v3.16r2 built on GW088 05/08/05
===================================
GWv3 v3.16r2 built on GW088 05/08/05
====================================
GW088 05/08/05
==============
UNTRACKED - In Map view 2d, keyboard selection in mapgrid didn't update
the map view 3d.

UNTRACKED - In Map view 3d, left mouse down didn't correctly select area in
all directions (3 of 4).

GA89010923 - Map view 2d view resizing of window causes unusual behaviour.

UNTRACKED - When GW is closed, we now record the window position and restore
this next time it is run.

GA89010843 - In 'parameter list' options, when the value is undefined,
show the hexadecimal value is contains.

UNTRACKED - Fixed bug whereby ECU downloads or PC logs didn't have user scalars
correctly defined.

GW89010926 - Fixed bug where GW displays error box when connecting via USB

GW89010925 - Fixed bug where GW crashes when USB comms are lost.

GW087 - 27/07/05
================
UNTRACKED - Added support for CAN telemetry

GA89010892 - Map table view, 3D map not updating selections correctly.

GA89010895 - AEMPro now has it's own registry hive. If on startup it doesn't
have one and GW does, it will copy the hive from \GEMS\GemsCom\ to \AEM\AEMPro\

GA89010900 - When using the last folder option, open cal dialog filters
for all cal files.

GA89010899 - Added use last folder option for storing calibration files.

GA89010841 - Prevent user from adding an option/parameter/table/map to the same
menu item more than once.

GA89018920 - When logging from PC, enable 'open DLog99 after save' option

GA89010905 - When saving a log file note now adds ECU name, version, date and
time ahead of note text.

AEMPro v3.20 based on GW086 built 21/06/05
==========================================
GWv3 v3.16r1 based on GW086 built 21/06/05
==========================================
HKS v3.16 based on GW 086 built 01/08/05
========================================
GW086
=====
GA89010896 - Fixed bug on verify whereby an av occurred on a successful validate

UNTRACKED - Modified Full Option list (OptionWnd.cpp) and Option list selection
   (ScalarWnd.cpp) for correct operation of ComCode lists - when the comcode
   combo box is active, up, down, pg up, pg dwn keys now move through the option
   list instead of changing the comcode option. To change the comcode option,
   first hold the Alt key with the down arrow to open up the combo box.

UNTRACKED - Fixed bug in manual file conversion where the user is not asked if
   they wish to convert by com code unless each of a map, table and option is
   unassigned.

UNTRACKED - Added support for serial telemetry. CAN telemetry on the way.

AEMPro v3.19r3 based on GW085 built 16/05/05
============================================
GW085 16/05/05
==============

GW084 25/04/05
==============
UNTRACKED - Modified for USB

GW083 (interim version released internally)
===========================================

UNTRACKED - Fixed bug whereby PC logging only logged some of the parameters in
parameter windows.

UNTRACKED - Fixed bug in ini structure whereby all parameters, options and so on
were not being assigned the endianness of the ECU/GIN file.

GW082 (interim version released internally)
===========================================

GA89010887 - Fixed bug where difference window was incorrectly reporting
differences between bitmasked values.

GA89010888 - Fixed bug where internal logging doesn't reset on changing a logged
parameter.

GA89010864 - Added check for "cvt" value to indicate the directory to search for
calibration conversion templates. Specifically for RSA.

GA89010874 - Changed the calibration dialog boxes such that even when the
registry is not held in alphabetical order (such as occurs with 95/98) the
filters are listed appropriately. Also the install ECU list is alphabetical.

GA89010882 - Added ability to remember user's preference of whether or not to
clear an internal log file on download.

GA89010871 - Added support for big endianness

MAP3000 v1.00R1 built on GW 081
===============================
GW081
=====

UNTRACKED - AEMLogButton hint text is now set accordingly for GWv3 and MAP3000
   Was previously set to "Start AEMLog" for all versions.

UNTRACKED - AEMLogButton icon in MAP3000 changed to wiggle graph lines

UNTRACKED - Modified action of AEMLogButton to launch DATA2000 for MAP3000.

AEMPro  v3.19r2 built on GW 080 - 23/03/05
========================================
GWv3 v3.15r3 built on GW 080 09/03/05
=====================================
MAP3000 v1.00 built on GW 080 21/03/05
======================================
HKSv3 v3.15R3 built on GW 080 22/03/05
======================================
GW 080
======

UNTRACKED - Fixed bug whereby crashes repeat if a table graph window is
displayed when the associated tabular view is not shown. Only noticeable if the
current table site value changes.

GA89010857 - Alpha sorting of menu view for unconfigured menus.

GA89010854 - Added support for 'f' key in full option list enabling selection of
the search list box and allowing the entry of the 'f' character for hexadecimal
options.

GA89010858 - Modified menu editor to enable delete button between the menu view
and available items all the time.

GA89010859 - Modified menu editor to default to 'Options' and 'Parameters' as
the names for option and parameter menus. Previously this was the case, but upon
reopening the editor the names were 'Option' and 'Parameter'.

GA89010734 - Allow hexadecimal values to be entered into the table sites in a
tabular view of a hexadecimal table.

GA89010865 - Removed 'template save as window' from menu as no longer wanted or
required.

GA89010863 - Added ability for custom menus to be temporarily disabled. Only
applicable to GWv3.

GA89010864 - Removed modification of GIN directory on install of another GIN
file. This provides a fixed install directory as defined in the installation.
This modification allows for GIN files to be installed from any directory and
auto-convert templates to remain in and run from the default GIN directory.

UNTRACKED - Fixed bug noticed in FuelOPWindow whereby changing between various
mutually exclusive options appeared to work on screen but actually failed in
the ECU. The reasoning is as follows. The commands to change the options were
effected one at a time with a WaitForECUCommands call between each. This checked
that the comms library had finished processing all commands before processing
the next option command (e.g. turn off O2 FB1, turn on O2 FB2). However, the
application may not have carried out the changes to the map internally, that is,
it may not have processed the comms queue locally to effect the changes to the
inimap.

GA89010868 - Problem with secureable ECUs whereby if upload a secured
calibration to an ECU and cycle power, comms continues but fails. This should
result in comms failure and a secured ECU. GW should operate as per a connected
ECU when power is cycled which does result in comms failure. The reason for this
is that on upload the comms library is not notified of either COMOK or the log
buffer. By notifying the library of these events, GW operates as expected.

GA89010873 - Enabled context sensitive help at start up for all projects other
than AEMPro when a check for the existence of GWLink.hlp succeeds.

MAP2000 v1.03 built on GW 079 25/02/05
======================================
GWv3 v3.15r2 built on GW 079 09/02/05
=====================================
GW 079
======
Somewhere in this release v3.15 was also issued but has not been tracked. This
was only released to Mick Clarke.

UNTRACKED - Bug fix in redraw.cpp whereby loading the option user scalars always
used IM instead of the passed ini map.

GA89010837 - Modified manual conversion such that on conversion from a
non-secure ECU to a secure ECU the password is set to 0xff.

GA89010850 - Under compare across different versions, copying a value into the
current calibration failed to remove the entry from the list. This occurred
because the converted value isn't exactly the same. Modifications made ensure
the entry is removed as the conversion is as close as possible.

UNTRACKED - Mods to provide descriptive labels for automatic conversion
templates.

UNTRACKED - Mods to ensure both GIN files are installed for a conversion
template.

GA89010838 - Mods to open notes dialog (as used by file | open) such that the
user-specified directory structure for calibration files is appropriately
navigated when the calibration filter is changed.

GA89010839 - Mods to compare open dialog to use the currently selected ECU
filter to navigate to the appropriate directory.

UNTRACKED - Mods to ConvFrontWnd such that individual table/map site values can
be set by an automatic conversion template.

AEMPro  v3.19 built on GW 078 - 25/01/05
========================================
GW 078
======
UNTRACKED - Expanded configure outputs dialog for AEM by adding a third section
titled Switched Output Configure.

UNTRACKED - Added fixed timing to the ignition setup window programming the
options ignition fixed and ign fixed.

UNTRACKED - Added shortcut button to menu bar for context window

UNTRACKED - Added connect to ECU or work offline dialog box on start up of AEM
Pro

UNTRACKED - Fixed problem where closing a file by disconnect following an
attempt to change a calibration online while the ECU is offline resulted in
a GPF

UNTRACKED - Added shortcut button for configure outputs to AEMPro

UNTRACKED - Added message dialog following closure of injector change function
window to open the battery offset wizard if desired.

UNTRACKED - Added AEM log icon in AEMPro. Also added ability to open a log
file in AEMLog following successful download of a log file.

GWv3 v3.14r23 built on GW 077 - 21/12/04
========================================
GW 077
======
GA89010849 - Problems with option comms parameter lists whereby options are
randomly assigned with parameter lists. This occurs with all emerald GEMS files
(the equivalent of .GIN files). This has been resolved with a fix to the ini
file structure. Also occurs with any .GIN file created with HTG version 1.12 or
GWE version 1.24 saved as .GIN version 3.12. The resolution to this is to
rebuild them with HTG version 1.13 (and use GWE version 1.25).

GA89010851 - Bug whereby the user could not save a calbration file to any
directory other than the default (be it by calibration, file name or version)
fixed.

MAP2000 v1.02R8 built on GW076 30/11/04
=======================================
GWv3 v3.14r22 built on GW 076 - 18/11/04
========================================
GW 076
======
UNTRACKED - Fixed bug whereby editing menus resulted in the parameter list
combo in gcom used for comms code options having an extra full list added.

GW 075
======
GA89010832 - Fixed bug where the set value function of a map in tabular view
fails.

GA89010829 - Added support for 'comms code' options. This allows the user to
see and/or modify such an option using a pull down list box showing the names of
the parameters.

GA89010818 - Modifications made to x axis of tabular maps such that the angle
of text changes to better utilise the available space according to the shape of
the rectangle in which it fits. It also uses a bigger maximum size font. 

GA89010822 - Fixed bug where printing full option list may throw an exception.
The sizing has also be changed to allow for the extra possible length of options
(20 characters as opposed to designed 12) and for option string list entry
space (e.g. A/C Request Input = Switch is always OFF)

GA89010361 - Added notes indicating fuel pressure/injector throughput changes
when effected.

GA89010778 - Added ability to specify ECU name and version sub-directories off
the default calibration directory into which to store calibrations.
Non-AEM only.

UNTRACKED - Fixed bug in batch import GDFs throwing abnormal termination.

GA89010833 - Modifications made to ini.h to set programmable parameters'
modification methods appropriately (which use new modifiers) for older ini
versions. This provides complete compatibility with old and new ini files that
use new modifiers.

GA89010744 - Added separators to custom menu editor

GA89010782 - Added message on import templates to indicate if no template
was found. Import templates does work correctly.

GA89010826 - Prevent downloading of log data when connected to an ECU that does
not support it and indicate the ECU does not support it when otherwise
appropriate (not connected and selected ECU | Download log data...)

GA89010772 - Fixed bug where resizing a table window resulted in the obscuring
of the active site under follow ECU.

GA89010573 - Fixed bug under full option window where hexadecimal values did
not work.

UNTRACKED - Fixed bug whereby dongle detect wasn't working.

UNTRACKED - Fixed bug whereby comparing calibrations across different ECUs
rarely resulted in nothing apparently happening (actually crashing).

AEMPro v3.18r31 built on GW 074 - 22/10/04
==========================================
GWv3 v3.14r21 built on GW 074 - 22/10/04
========================================
GW 074
======

GA89010064 - Output names now follow calibration files.

GA89010805 - Remember state of 'show named' check box in configure outputs
dialog.

GA89010698 - If a menu doesn't exist for an ECU, attempt to import menus from
the Menus2 registry key first, if that doesn't exist import from the Menus
registry key.

GA89010780/GA89010806 - Fixed bug whereby using any emerald functionality (such
as saving the calibration) while PC logging caused the save of the PC log to
fail. Problem caused by specifying a default session in the olewnd unit, the
default session was later set (and hence changed) and the save attempted to save
to the default session.

GWv3 v3.14r20 Special Build - Marc Amblard (not built on anything specific)
==========================================

GA89010777 - Fixed y-axis slice view of map using fixed/option start/offset
whereby the cursor was incorrectly positioned.

GA89010824 - Changed commswnd to effect programming of parameters according to
whether they use new modifiers and therefore whether they have multiplicative/
additive properties defined.

MAP2000 v1.02R7 built on GW073 07/07/04
=======================================
GW073
=====
UNTRACKED - Dongle detect option added to Config menu. This calls NET START
   PARCLASS on win NT based systems to load up the dongle drivers and then calls
   a Dgl -> Retest

UNTRACKED - Log Reset now supports writable parameters for OMEX700/ EM36
   

GWv3 v3.14r20, HKSv3.14 R20 built on GW072 11/06/04
===================================================
GW 072
======
UNTRACKED - ECUStatusWindow modified such that only Multple Verification Errors
   are reported as MVEs and not generic Comms Errors as previously.

UNTRACKED - ECUStatusWindow modified so that only one parity/frame/break error
   is shown during each offline period. This stops the status window filling up.

AEMPro v3.18r30 built on GW 071 19/05/04
========================================
GW 071
======

GW89010775 - Clear log on ISP

GW89010774 - Warn to cycle power after ISP for AEM 

HKSv3 v3.14r19 built on GW 070 14/05/04
=======================================
GW 070
======

UNTRACKED - Bug in VirtualPotWnd that did not check if MAX_POT_COUNT exceeded
   fixed.

UNTRACKED - HKS v3.14R18 would crash on showing Table Tables when online.
   Rebuilding the code fixed this.

AEMPro v3.18r29 built on GW 067 07/05/04
========================================
GW 069
======

GW89010768 - Removed max/min buttons from import templates window.

UNTRACKED - Mods to automap target window to fix calculate and calculate columns
bug.

GW89010690 - Fix problems with log window not showing well.

GW89010764 - Setting a value using an integer-based chained user scalar to
a value that exceeds its maximum results in the value changing to the minimum
value. Fixed.

GW89010750 - Mods to redraw.cpp such that changing an option with the same com
code and overlapping bits as another option redraws that option too.

GW89010766 - Unoptimise maps. Won't be implemented. If you want to unoptimise,
choose pulse width view, select and copy the entire map, set LD0MPC to 255 and
paste the entire map back into the pulse width view.
   
GW89010712 - Requirement - ability to cut and paste data from another
calibration when on line. Currently have to open the other calibration (thus
going offline), reconnect and paste in.
Solution - Open another copy of the executable, open the required file, copy the
required data, switch back to live exe and paste in data.

GW89010614 - Request to extend log data displayed denied. The request was that
the last block of data received in the dump was to be displayed since originally
is was thought to have a bug in the code. This is not the case but in fact the
last block may contain from 1 byte of data up to a full block but there is no
way to determine exactly where the data terminates. To this end the last block
is not used.

GW89010767 - Added menu button in map graph windows.  Minor mods to simplify
resizing.

GW89010770 - Fixed unit scalar unit bug whereby an empty unit scalar unit used
the previous non-empty unit scalar unit.

GW89010771 - Fixed internal logging bug whereby unassigned com codes caused
access violations.

HKS v3.14r18 built on GW 068 28/04/04
=====================================
GWv3 v3.14r18 built on GW 068 28/04/04
======================================
GW 068
======
GW89010765 - Clear AutoEE prior to upload

UNTRACKED - Mods to optimise for fuel maps. Needs fixed firmware code to operate
correctly. Optimise works fine with fixed load sites or option load sites but
not with table load sites prior to this. No firmware currently works with this.
Not clear yet if this is fixed because of this.

AEMPro v3.18r28 built on GW 067 20/04/04
========================================
GW 067
======
GW89010671 - Fixed online/offline bug where it doesn't always show online when
it is.

UNTRACKED - Parameter template bug fixed whereby a 40-entry parameter window
would throw exceptions on close (when writing the template)

GW89010759 - Fixed bug whereby if parameters are off the bottom of the parameter
window and a scroll bar is present the information is drawn over the entire
parameter window.

GW89010697 - Allow directory recursion on batch calibration import routine.

GW89010704 / GW89010715 - Allow more choices to an interrupted log download. The
user can now cancel or save the log and either leave the log file intact or
remove it. This works in conjunction with the comms library version 1.25  

AEMPro v3.18r27 built on GW 066 05/04/04
========================================
GW 066
======
GW89010752 - Fixed internal logging rate display that was not displayed
correctly on showing the form.

GW89010751 - Changed dongle messages to be more informative. It now informs when
no dongle is attached, and when the dongle doesn't have access.

GW89010595 - GWv3 not working without a dongle properly - seems to have fixed
itself in this version.

GW89010742 - Fixed table table tabular view axis parameter display problem.

GW89010753 - Fixed table table graphical view cursor not following table.

GW89010747 - Fixed calibration name bug whereby the name wasn't correctly
displayed in the title bar if the calibration name was of a different length on
95-based machines. Also space-padded as opposed null-terminated. Also changed
text in calibration name window to 'keep calibration name and file name the
same'.

GW89010754 - Set the current calibration type when doing File | New... This
makes later compares, opens etc. use that file type.

UNTRACKED - Changed potboxes yet again such that you really really really must
want to use them to enable them.

GW89010661 - Modifications to LoadRegistryUserScalars to convert the characters
in the units to OEM characters such that ,  and so on are displayed correctly

GW89010758 - Changed ISP in AEMPro to check FIN name starts with AEM15 rather
than is AEM15GEN.

AEMPro v3.18r26 built on GW 065 20/02/04
========================================
MAP2000 v1.02r6 built on GW 065 20/02/04
========================================
GW 065
======
UNTRACKED - Modified AEMIntLogging:
1. Selecting a parameter with the same comcode as other parameters now displays
   a message showing all parameters that will be logged
2. Log codes are only programmed on close of the window
3. When a parameter is selected that is already selected, a warning is
   displayed.

GA89010694 - Fixed bug whereby if more than one option list window was
contained in a template, the second+ option list windows would not show
their contents correctly.

UNTRACKED - Changed all old usage string functionality from _fstrxxx to strxxx

GWv3 v3.14r17 built on GW 064 17/02/04
======================================
AEMPro v3.18R25 built on GW 064 17/02/04
========================================
GW 064
======
Mods to ConfigPotWnd to allow for more than 8 programmable parameters (any more
would have given access violations).

Removed message box in virtual pot window such that templates can work if the
pot count is exceeded.

GA89010743 - template configuration dialog modified to prevent exceptions being
thrown when no templates buttons are configured.

GA89010741 - fixed bug whereby changing a parameter 10 times resulted in
multiple verification errors. Bug fixed in gemscoms.dll v1.22.

GA89010748 - modified logging such that com codes recorded utilising a bitmask
have all channels with the same com code and bitmasks saved also.

AEMPro v3.18R24 built on GW 063 05/02/04 - supercedes version built on GW 062
=============================================================================
GW 063
======
Modifications to dump functionality modified in GW 062. Pointers set up
correctly and allocated memory is freed after use.

AEMPro v3.18R24 built on GW 062 04/02/04
========================================
MAP2000 v1.02R5 built on GW062 03/02/04
=======================================
GW 062
======
ConnectWnd and DownloadWnd modified so that option user scalars are read from
   the ECU before the dump command is issued instead of after. This is to
   prevent GW going offline when the EM36 / OMEM700 erases the memory after
   download as this can take up to 10sec.

GWv3 v3.14R16 built on GW061 27/1/04
====================================
HKSv3 v3.14R16 built on GW061 26/1/04
=====================================
MAP2000 v1.02R4 built on GW061 26/1/04
======================================
GW 061
======
SetupPtBoxes re-enabled for non-AEM versions.
Bug fixed in pot box window - potbox settings were being read from a different
   part of the registry than they were being written to.
Key mode setup - keymode buttons read from correct part of registry.
Key mode setup - now possible to enter -ve values for key mode actions.
Registry path errors in CalConvert fixed

HKSv3 v3.14R15 built on GW060 23/01/04
======================================
GW 060
======
Programmable parameter functionality modded to stop modifiers changing site
values beyond limits.

MAP2000 v1.02R3 built on GW 059 20/01/04
========================================
GW 059
======
GA89010570 - Mods to programmable parameter functionality such that PCTL/PACK is
no longer used but instead the PC software effects the changes directly.

GW 058 08/01/04
===============
GA89010735 - Made menus case sensitive for non-AEM applications. AEM requested
case sensitivity since many of their menu changes were simple case changes.

GA89010736 - Overhaul of template configuration dialog:
1. If a template is added from the Template |Save menu and it already exists as
a template button, it is not added again.
GA89010738
2. Allow templates to be moved up and down the list.
GA89010737
3. Ensure template indices are applied to template entries.
4. Remove empty template entries on close.
5. General tidying up including resizability.

GA89010732 - Removal of all potbox references for AEM.

GA89010726/GA89010710 - Allow templates and template buttons to be imported
from another ECU type and version.

GA89010658 - Modified parameter window from using Shift- to decrement by large
amounts to Ctrl-

GA89010600 - The displayed value of a negative value map is not shown correctly
in graph view. Fixed some time ago. Version R10 has it implemented.

Untracked - mods to wizard window to show error messages.

GA89010577 - Removed horizontal scroll bar in wizard menu. Also ensured the
active wizard selection is shown on entry. Resizing window works too.

GA89010591 - Default to table view when showing a graphical view of a map and
an axis is all 0. For AEM, no message is presented, the table view is simply
forced.

GA89010581 - Automapping showed default value when unweighted.  Now shows a
'-'.

UNTRACKED - Fixed bug in user scalars whereby if the scalar was -ve table
graphs weren't shown correctly (probably others too). This involved changes to
the core INI structure including the calculations of max/min values.

GA89010663 - Fixed wizard window where not sizing correctly for different font
sizes.

GA89010731 - Fixed bug whereby on ECU | Connect option user scalars were not
loaded before a template when background loading was not needed.

GA89010732 - Remove potbox from AEM software.

GA89010733 - Changed references from INI file to GIN file for user.

GWv3 v3.14R14 built on GW 057 16/12/03
======================================
HKSv3 v3.14R14 built on GW 057 16/12/03
=======================================
MAP2000 v1.02R2 built on GW 057 16/12/03
========================================
GW 057
======
GA89010722 - In graphical map view, using the - key to decrement a signed map
   below zero would set the map to its maximum value. Fixed.

UNTRACKED - ConfigPotWnd changed such that closure actions take place in
   FormClose instead of FormDestroy. Message queue is also cleared of messages
   for that window before it closes. This should solve the crash problem when
   ConfigPotWnd is shown due to noise on the control lines.

MAP2000 v1.02R1 built on GW056 12/12/03
=======================================
GW 056
======
DownloadWnd changed such that the RawLogFile name is now defined based on the
   project: AEM: AEMRawLog.bin, OMEX: OMEXRawLog.bin, all others GEMSRawLog.bin


HKSv3 v3.14R13 built on GW055 28/11/03
======================================
GWv3 v3.14R13 built on GW 055 20/11/03
======================================
GW 055
======
AEMIntLogging modified such that Log Switch Input can now be set as a number
   if it doesn't reference an option list. Previous behaviour was to crash the
   logging setup window.

GA89010708 - TableGraphWnd modofied so that word tables now auto scale. This
   allows the curve features to be seen when the table has small values.

GA89010711 - MapWnd modified so that very small maps (less than 6 X sites) show
   correctly - smaller font offset used in the font size calculation.

Templates now work correctly in demo mode (no dongle present)

AEMPro v3.18R23 built on GW 054 28/10/03
========================================
GW 054
======
Modified mapinfo to initialise the LD0MPC variable to zero.

Modified download window such that on completion of a downloaded log the log
is reset.

GWv3 v3.14R12 built on GW 053 09/10/03
======================================
GW 053
======
GW89010693 - When entering a negative number into a signed option in
the selected option list, the value is always 2 higher than that entered. Fixed.

HKS v3.14r11 built on GW 052 16/09/03
=====================================
AEMPro v3.18R22 built on GW 052 16/09/03
========================================
GW 052
======
GW89010689 - Added functionality to set 'ISP enable code' to 0xaa prior to
effecting an ISP.

GW89010688 - ISP Boot tester functionality apparently wasn't working correctly,
it is but confusion over its operation caused the problem.

GWv3 v3.14R11 built on GW 051 12/09/03
======================================
GW 051
======
UNTRACKED - Mods to MapInfo and MapWnd to prevent defaulting to a pulse width
or duty cycle view for systems without MSPB.

AEMPro v3.18R21B140 built on GW 050
===================================
GW 050
======
GW89010687 - Fixed bug where export/import of menu fails.

GW89010685 - Added registry values to remember fuel view preference.

GW89010684 - Changed message when a modified calibration is closed. Previously
it said 'do you want to save the changes?'. Now it says 'the calibration has
changed. Do you want to save the changes?'. This has been done since the user
may be confused by the message depending on the action taken causing the close
of the calibration.

GWv3 v3.14R10 built on GW 049 09/09/03
=====================================
HKS v3.14r10 built on GW 049 09/09/03
====================================
MAP2000 v1.01 built on GW 049 09/09/03
======================================
GW 049
======
UNTRACKED - Mods to redraw.cpp for non-AEM projects to reference "User Scalars2"
key correctly (was using "UserScalars2")

GWv3 v3.14R9 built on GW 048 03/09/03
=====================================
HKS v3.14r9 built on GW 048 03/09/03
====================================
MAP2000 v1.01 built on GW 048 03/09/03
======================================
AEMPro v3.18R21 built on GW 048 03/09/03
========================================
GW 048
======
UNTRACKED - Hide context sensitive help menu in non-AEM applications.

UNTRACKED - Moved location of non-AEM application user scalars to the non-ECU
dependent location "User Scalars2" instead of a sub-directory or the name

UNTRACKED - Changed header of MAP2000 logs to use EQUIP_OMEX instead of
EQUIP_DA99 such that an Omex version of DLog99 can be freely distributed.

UNTRACKED - Changed ISP to utilise COMOK functionality when the ECU is
recognised.

UNTRACKED - Auto-conversion front-end window modified to utilise double clicks
rather than single clicks to active an automatic conversion.

UNTRACKED - Modifications to ConvFrontWnd such that if no automatic conversions
exist, a manual conversion is automatically initiated.

GA89010681/2 - Modified internal logging window such that Log PBW is added as
an option, the option/rate/condition group box are hidden when no
options/rate info/conditions are found.

GA89010670 - Fixed bug whereby on deleting template buttons the subsequent
buttons weren't reassigned to their correct templates.

AEMPro v3.18R20 built on GW047 30/07/03
=======================================
GW 047
======
UNTRACKED - Bug fixed whereby some trailing backslashes were doubled up in
registry accesses using the untracked fix in GW045

AEMPro v3.18R19 built on GW 046
===============================
GW 046
======
UNTRACKED - Modified INI structure such that integer values are rounded to the
nearest integer as opposed to down.
GA89010660 - PC-logged option user scalar modified parameters not correctly
scaled in DLog - bug fixed in OLEWnd. 

AEMPro v3.18R18 built on GW 045
===============================
GW 045
======
UNTRACKED - Changed all registry access to use a global AnsiString. 

AEMPro v3.18R17 built on AEMPro v3.18R17 21/07/03
=================================================
GW 044
======
GA89010657 - Changed registry for menus from Menus2 to Menus3 to allow AEMPro
version 3.16 to operate with its own registry structure (Menus2) and this
release forwards to work with Menus3.

GW 043 built on AEMPro v3.18R16 21/07/03
========================================
AEMPro v3.18R16
===============
Mods to ISP by Jon

AEMPro v3.18R14 and R15
=======================
no history

AEMPro v3.18R13 built on GW 042 18/07/03
========================================
GW 042
======
GA89010648 - During ISP, select GIN with ECU powered, it connects, press back,
now unpower, select same GIN, press cancel then ignore (offline stuff), system
hangs. Fixed.

GA89010655 - ISP downgrading past AEM V0.94 forces V0.94 FIN ISP as an
intermediate process. 

AEMPro v3.18R12 built on GW041 07/07/03
=======================================
GWv3 v3.14R8 built on GW041 16/07/03
====================================
GW 041
======
GA89010650 - Removed F2 editing from table table windows.

GA89010651 - Added AEM icons.

UNTRACKED - Added nitrous icon and rebuilt on same version 08/07/03

AEMPro v3.18R11 built on GW040 03/07/03
=======================================
GW 040
======
GA89010637 - Fixed bug whereby the injector and coil setup boxes were not
refreshing their states correctly.

GA89010632 - AEMPro locking up during the flash phase - don't think AEMPro was
locking up but ECU locking up, hopefully fixed in AEM15GEN V1.03

GA89010618 - Allow hexadecimal values to be entered in parameter.

UNTRACKED - Catch exceptions in parameter and option list when the text is
rubbish.

GA89010636 - Added time delay when an offline message is received. If the ECU
goes online within the timeout, no messages are displayed.

GA89010644 - Fixed problem where unit scalar changes weren't show in custom
generic option windows.

GA89010635 - Ensured that when a calibration file is opened it is closed
afterwards.

GA89010649 - Log is reset after a calibration upload; this was being done but
a few minor mods have been made.

AEMPro v3.18R10 built on GW039 02/07/03
=======================================
GW 039
======
GA89010642 & GA89010640 - When changing options that directly drive outputs,
functionality added to reset the ECU with PCTL/PACK code 0x40

AEMPro v3.18R9 built on GW038 27/06/03
======================================
GW 038
======
GA89010629 - Fixed bug introduced with allowing the 'x' button to disconnect.

GA89010630 - Clicking 'x' button on maximised windows caused crash. This was
due to the fact that the FormResize event is called by the OS after the window
is closed (!)

GA89010633 - Error uploading the calibration after an ISP. Caused by not waiting
for ComOK to be cleared.

GA89010639 - Fixed text colour on graphical tables whereby not using the
specified colour.

GA89010638 - Fuel map table view pop-up menu view mode defaults to raw even
though default is pulse width. Fixed.

GA89010643 - Fuel map modifications in pulsewidth view threw exceptions when
MSPB was 0. Fixed.

GA89010645 - Tabular table views don't have axis values displayed correctly for
fixed sites. Fixed.

GA89010641 - Changed edit box for option and option list window such that the
selected option list value fits in the box.

AEMPro v3.18R8 built on GW037 16/06/03
======================================
GW 037
======
UNTRACKED - Changes to DownloadWnd such that it doesn't wait for non-existent
user scalar downloads on a log download.
UNTRACKED - Modded CommsWnd such that when comms is lost during writes to the
ECU the 'x' button disconnects as well as pressing the disconnect button.
UNTRACKED - Mods to download log such that where no user scalars exist, the
system doesn't throw a 'can't hide a non-visible window' message.
UNTRACKED - Added support for COM OK.

AEMPro v3.18R7 built on GW 036 23/05/03
=======================================
GW 036
======
UNTRACKED - More problems with option user scalars/unit scalars

AEMPro v3.18R6 built on GW 035 22/05/03
=======================================
GW 035
======
GA89010616/GA89010568 - Added user scalars into PC logging (unit and option
user scalars).
GA89010615 - Configure outputs, injectors and coil dialogs changed so they
update correctly when on-line.
GA89010589 - Cancelling PC log now requests confirmation.
GA89010588 - Fuel maps now default to pulse width view.

AEMPro v3.18R5 built on GW 034 16/05/03
=======================================
GW 034
======
UNTRACKED - Fixed problem whereby log downloads weren't having the user scalars
applied. This resulted in modifications to gcom, the addition of a new window
called DownloadWnd and changes to ProcessWnd.
UNTRACKED - Fixed access bug when option user scalars are changed and a redraw
is called.

AEMPro v3.18R4 built on GW 033 15/05/03
=======================================
UNTRACKED - Added program of checksum after an upload of a calibration
subsequent to an ISP. This fixes the bug whereby an uploaded calibration fails
to program and a power cycle leaves the calibration invalid.

AEMPro v3.18R3 built on GW 033 14/05/03
=======================================
GW 033
======
UNTRACKED - Changed ignition setup to change ign sync instead of all the teeth
offsets.
UNTRACKED - Removed user scalar import/export and changed user scalar labelling
to units.
UNTRACKED - Fixed bug whereby chained user scalars weren't displaying units
correctly.

AEMPro v3.18R2 Built on GW 032 9/5/03
===================================== 

GW 032
======
UNTRACKED - Added automatic conversion of calibrations across versions. The
existing conversion window is replaced by the ConvFrontWnd which is the front
end for conversions. This shows a list of all templates for converting between
versions and allows the user to select one and convert. The old manual process
may also be used.

UNTRACKED - Bug in table and map assignments in auto conversion fixed.
UNTRACKED - Auto convert window list now responds to double clicks.

AEMPro V3.18 Built on GW 031 7/5/03
===================================
 
GW 031
======
GA89010584 + UNTRACKED - Modified INI structure to utilise chained user scalars.
Chained user scalars allow an option user scalar to have another user scalar
action upon it's output.

GWv3 v3.14R7 Build 60 Built on GW 030 05/08/03
==============================================
This uses GW 037 version of connect.wnd

GWv3 v3.14R7 Built on GW 030 11/06/03
=====================================
AEMPro v3.17R7 Built on GW030 1/5/03
====================================

GW 030
======
UNTRACKED - User scalars did not load up correctly after uploading a calibration
            or connecting to an ECU when the matching calibration is on disk.
            This has possibly been fixed - search for the two occurences of
            USERSCALARFIX in ConnectWnd.cpp for additional notes. 

UNTRACKED - AutoHelp in AEMPro is only active for ECU versions of 1.00 or later


AEMPro V3.17r6 Built on GW 029 30/4/03
======================================

GW 029
======

GA89010610  Generated Help Topic IDs are now made all uppercase and the
            characters "\\/:*?#=+%!@[]>\"|,<& " are all turned to '_'. As
            specification for help builder.

AEMPro v3.17R5 Built on GW 028 29/4/03
======================================

MAP2000 v1.00R0 Built on GW 028 29/4/03
=======================================

GW 028
======
UNTRACKED - New project and changes made to sort to support MAP2000 for OMEX

UNTRACKED - Bug that stopped cal files from being opened after a log map has
            been added to the GIN fixed.

AEMPro v3.17R4 Built on GW 027 24/4/03
======================================

GW 027
======
UNTRACKED - Log Options: VSS logging condition did not have any code to update
Log VSS option.

UNTRACKED - Log Options conditions: text changed from ">=" to "at least".

UNTRACKED - Log Options conditions: When online, entering a value for the
condition did not update it properly as the raw value was read directly out of the
ECU before it had been programmed. The code now uses the raw value from RealToRaw
which works OK but does occasionally show some rounding errors.

UNTRACKED - After a save as, the filename is shown in the main form caption
instead of Workmap

AEMPro V3.17R3 Built on GW 026 17/04/03
=======================================

GW 026
======
GA89010604 - Added radiator fan functionality to configure outputs dialog box.

GA89010580 - Added new VTEC speed functionality to configure outputs and
re-ordered.

GA89010579 - Changed '>=' to 'at least' and '<' to 'less than'

UNTRACKED - Changed the text yet again in the ignition timing box.

GA89010585 - Added VSS trigger, log file naming options and log switch input
to internal logging setup.

GA89010587 - Changed extensions for AEM calibrations to remove the AEM15GEN
from the name i.e. cal1.AEM15GEN.v0.99.cal => cal1.v0.99.cal

GA89010601 - Saving a file when the folder has changed fails to set the folder
to that selected by the user. Fixed.

GA89010602 - File | Save after a File | Save as... no longer appends the
extension correctly.

UNTRACKED - Load values displayed in graphical view of maps incorrect. Fixed.

UNTRACKED - Raw values displayed in graphical view of ignition map. Fixed.

GWv3 V3.14 Release 6 Built on GW 025 - 20/03/03
===============================================

AEMPro V3.17R2 Built on GW 025 19/03/03
=======================================

GW 025
======
GA89010537 - Could not duplicate. Worked in testing.

UNTRACKED - Added check for 'TPS Based Fuel Map' in MapInfo after a fail of
finding 'Fuel Map Throttle'

GA89010543 - Fixed redraw of graphical table windows each time a value changes.

GA89010545 - Fixed bug whereby a change of user scalars wasn't reflected in the
table graph window using it.

GA89010507 - Removed steps 3,4 and 8 from ISP window in GWv3.

GA89010511 - Completed added above check boxes on ISP window.

UNTRACKED - Moved 'Update ECU firmware' to bottom of ECU menu

GA89010528 - Fixed bug whereby verify causes exception.

GA89010542 - Fixed bug where attempting to convert an uninstalled ECU causes
exception.

GA89010469 - Fixed file open/save as filter list bug whereby the wrong index
was selected on Windows 98 machines.

GA89010535 - Full ordered option list now prints in alphabetical order.

GA89010510 - MapWnd, TableWnd, OptionWnd, ScalarWnd, CustomGenericOpWnd now
consistent for editing and use of +/-. The default change mode has the +/- keys
change the values by +/-1 / +/-10 with the ctrl key down.  Any other key enters
edit mode. In edit mode the +/- key remove/insert a '-' from the beginning of
the edit box. The return key sets the current value and the escape key cancels
the current edit.

GA89010538 - Fixed resizing problems of map slice and table graph windows where
the canvas wasn't getting big enough.

UNTRACKED - Added MultiTimer to replace functionality of all individual timers
splattered liberally around the application. This was done as adding another
timer on the main form, the timer didn't operate correctly. The timer limit
was assumed to have been surpassed. Some timers still remain.

GA89010552 - Fixed user scalar issue for internal log files. Some problems
still remain:
1. Option user scalars (such as speed 100 doubling the engine speed) are not
addressed in scaling parameters.
2. User scalars are loaded from the registry default as opposed to those set in
the calibration.
To address this problem it is required that the ECU calibration is downloaded.
This is particularly important for option user scalars as they are brought into
the AEM15GEN ECUs.

GA89010513 - Fixed problems with potbox crashing the system. This occurred when
the potbox configuration window appeared automatically after receiving floating
control line inputs (or, of course, actual potbox inputs). Couldn't replicate
the problem of crashing if the window is left open too long.

GA89010541 - Virtual pot buttons causing crashes - cannot replicate. Probably
related to having GIN files with programmable parameters which aren't. Future
changes are planned to program modifiers in the PC software as opposed to the
firmware using PCTL/PACK which remove this problem.

UNTRACKED - Modified clipboard to accept any sized array. Previously only
accepted up to 50x50 sized array.

GA89010549 - Bit tables not converting properly. This was a result of the above
untracked modification since the table in question was 60 bytes long.

GA89010516 - Table graph views throwing errors on a change of the parameter
value in the newly implemented inverted tables. This has since 'gone away'.

UNTRACKED - Tidied up a few bugs in converting. Mostly related to tidying up.

GA89010571 - Removed DownloadWnd from GW projects (unused).

GA89010572 - Fuel (boost) and fuel (throttle) not added as individual fuel maps.
Instead they have been renamed together with the defining option to switch
between them in the requiring applications.

GA89010059/GA89010230 - Added live help window support.

GA89010569 - Fixed fuel maps regarding pulse width and duty cycle to account
for LD0MPC compression.

GA89010540 - Added export to file menu in AEMPro to allow GDF files to be
exported.

GWv3 V3.14 Release 5 Built on GW 024 - 26/02/03
===============================================

GW 024
======
UNTRACKED - Increased failure count in comms from 20 to 128.  This is required
particularly for writes since a comms failure requires 64 valid successive
commands at the ECU.

GA89010509 - Fixed problem where maps and tables utilising option or table axes
with user scalars weren't redrawn when the user scalar is modified.

AEMPro V3.17 Built on GW 023 - 24/02/03
=======================================

GW 023
======
UNTRACKED - Modifications so that failure of open of file results in only one
message.

GWv3 V3.14 Release 4 Built on GW 022 - 21/02/03
===============================================

GW 022
======
UNTRACKED - Fixed bug in menu imports where the buffer for reading in data was
not sufficient to contain a long path length (when referencing a template).

GA89010494 - Open fin file in GW dialogs changed to allow only .FIN file.

GA89010487 - Force help window of calibration conversion window to be displayed
on auto-run of first run.

GA89010488 - Changed text in calibration conversion help window to show 'This
wizard...' instead of 'This form ...'

GA89010489 - Changed caption of calibration conversion window to "calibration
import wizard"

GA89010492 - Warn window warning image background colour changed. Now
transparent so same as window.

GA89010495 - Pop-up hint on upload button changed to mirror menu name change.

GA89010490 - File | Import leaves the imported file open.

GA89010491 - On successful batch import the next action was always failing.
Fixed by setting I and IM to NULL on exit.

GA89010493 - Changed 'ECU | Update EMS firmware' to 'ECU | Update ECU Firmware'
in GWv3.

GA89010498 - Internal logging only added if 'Log Code' option is found in GWv3

GA89010499 - Changes to close such that if the current calibration has been
modified only one query to save is made.  If the file is a workmap a save as
dialog is displayed and the filename is blank, otherwise a save as dialog is
displayed with the filename set to the current file name.

GA89010502 - Invalid flop in user scalar setup form when typing a number
beginning with a '-' fixed.

GA89010504 - A default user scalar is force for each user scalar in user scalar
setup form. The GIN values are set as default if the default user scalar values
are deleted.

GA89010508 - Added .gdf filter for open all files.

GA89010505 - On importing user scalars existing user scalars with the same name
are overwritten. Existing user scalars not in the import list remain.

UNTRACKED - Disallow a user to select the same user scalar name within a
particular user scalar.

GA89010506 - Prompt user to find menu-based templates when they don't exist and
are selected from the menu.

GWv3 V3.14 Release 3 Built on GW 021 - 12/02/03
===============================================

HKS V3.13 Built on GW 021 - 12/02/03
====================================

GW 021
======
UNTRACKED - Added check for correct emerald version. Big warning message appears
if it isn't. Any conversion process is automatically avoided if the emerald
version isn't adequate. This is designed to prevent cock-ups in the conversion.

UNTRACKED - Modifications such that status bar messages are cleared on cancel
of connect/upload.

UNTRACKED - Ensure all user scalars are activated.

UNTRACKED - Convert reopen file names and last calibration file name held in
registry to point to correct files if they are converted to .cal files.

UNTRACKED - Modifications to batch calibration convert window.

GW89010479 - Added 2 second delay after ISP prior to uploading new calibration.

UNTRACKED - Modifications to difference window such that the comparison file
is loaded with the user scalars held in the currently open file as opposed to
its own calibration-held user scalars.

GA89010408 - Custom option windows now have option lists sorted alphabetically.


GWv3 V3.14 Release 2 Built on GW 020 - 12/02/03
===============================================

GW 020
======
GA89010360 - changes to difference and comparexversion windows and how they are
called. Now Difference is called by gcom which in turn calls comparexversion if
the version is not for the current file. Titles changed to show comparision file
names, this changed to current file too. Bug fixed where comparexversion was
always called if an emerald file was compared against.

GA89010458 - Added selected options in print selection dialog box

GA89010459 - Appended the word 'options' to menu option list in print selection
dialog

GA89010460 - Modified the captions 'ECU | Upload' and 'ECU | In System
Programming' to read 'ECU | Send new calibration' and 'ECU | Update EMS
Firmware' respectively.

GA89010461 - Modified OptionWnd, ScalarWnd and ParamWnd to resize the font
to fit the name and units in the form.

GA89010464 - Configure Menus is now resizeable and has a wider tree view

GA89010465 - Added wizards

GA89010462 - In 'configure options' under the options menu the choice
'greater than' has been changed to '>=' and 'less than' to '<'

GA89010463 - Option | Coil now checks to see how many coil #? options exist
in the current file.

GA89010467 - MapWnd x axis label centred on grid

GA89010470/GA89010468 - Made table tables and map tables use the axis values
rather than site values for following / showing the current ECU position

GA89010473 - Changed gdf extension for emerald files to cal. Also added
functionality to batch convert all files to .CAL on new install. This is
automatically run on first execution of this revision of software onwards
if the defaults registry entry exists i.e. if this is an upgrade. 

GA89010410 - Opening a template that doesn't exist any more prompts the user
to find it or removes it from the menu.

GA89010401 - Remove the name and version of the ECU when using GWv3 since it is
always included in the calibration name that is displayed.

GA89010346 - When editing menus a template is taken immediately and then
re-loaded on menu completion.  This reloads any option list windows. Parameter
windows remain the same.

GA89010472 - User scalars changed again.  The setup editor shows the library of
user scalars and the default as well as the values applied to the calibration.
The calibration values are not necessarily in the library since all .CAL files
hold the user scalars in the calibration. On batch conversion of calibrations to
.CAL files, the default user scalars are applied to all files.


GWv3 V3.14 Built on GW 019
==========================

AEMPro V3.16 Release 3 Built on GW 019
======================================

GW 019
======
GA89010421 - Re-enabled virtual pot boxes in GWv3 (_ADD_TRIM_CONTROL_ redefined)
GA89010435 - Modified to check ini file to determine if word writes are
available. If so, word writes on uploads are used. The definition
_BYTE_WRITES_ONLY_ is no longer relevant.
GA89010440 - Log notes close button now works.
GA89010327 - Added apply button to configure units.
GA89010414 - Could not duplicate parameter rescale failures after changing
user scalars.
UNTRACKED - Clear StatusBar messages on close of file
GA89010442 - Can save the notes but if you have the save calibration name to
the ECU checked, the warning misleads into believing saving has failed. The
message has been changed.
UNTRACKED - Modifications to automapping such that the maximum increase/decrease
limits to the base map are stored in the registry, the base map values are
reloaded each time automapping is initiated and automapping is stopped when
initialising.
UNTRACKED - Modifications to CalFiles to open a file of emerald v1.00 onwards.
GW89010449 - Modifications to allow a negative number to be entered in
modifiable parameters. The user enters a value and presses the '-' key.
GW89010413 - Changed ISP windows to ensure a GIN, FIN and calibration file are
selected together. Enabled 'ISPBootTester' facilities for failed ISP EEPROMS.
GW89010417 - Automap fuel log problems
GW89010406 - Cannot screw up auto-mapping by changing initialisation during
auto-mapping anymore.
GW89010407 - Cannot reproduce this.
UNTRACKED - Modified OPConfig to search for alternative option names.
UNTRACKED - Modified multiple files to search for new AEM-specified option names
and table names where used.

AEMPro V3.16 Release 2 Built on GW 018
======================================

GWv3 V3.13 Built on GW 018
==========================

GW 018
======
GA89010400 - Calibration marked as read after changes by copy in difference
windows. Also copy button labelled to indicate the direction of copy.
GA89010399 - SetOption/SetMap/SetTable used in various forms including
ConvertWnd and others found to be not converting bit values correctly. This bug
has been documented previously and thought to have been fixed. Other forms
include the difference windows where the bug was picked up.
GA89010355 - Added close button to notes dialog.
UNTRACKED - Changes to ensure workmap is also placed in calibrations folder.
UNTRACKED - Removed UserModifiers.cpp from project - unused.
UNTRACKED - Changed calibrations to be saved in emerald format. This requires
emerald version 1.42
UNTRACKED - Fixed another bit bug whereby changing the value of a bit option
used as an option scalar which has other bits set the option user scalar was not
being set appropriately.
GA89010412 - Fixed table graph with follow ECU set on the table table whereby
redraw when the axis parameter changes doesn't work properly. Changes major on
drawing to a TImage as opposed to the form canvas.
GA89010398 - +/- keys on table graphs now show the value of the table updating.
Other changes include instant drawing of updated online data and much smoother
graphics.
GA89010416 - Now warns and exits if no emerald.dll file found.
GA89010417 - Fixed upload calibration open dialog filter bug.
UNTRACKED - Combined port and baud rate selections in gcom into one function
using tags.
UNTRACKED - New AEM icon added to AEMPro.
UNTRACKED - Make map graphs follow the map table when using cursor keys.
GA89010345 - Added support for option "Fuel Map Throttle" such that the fuel
map opens either "Fuel" or "Fuel Throttle" depending on the state of the
option.
GA89010403 - Fixed problem whereby new/deleted installations are not visible/are
visible in open/connect/upload etcetera.
GA89010338 - Fixed problem where some windows (notably interal logging) when
run on systems using large fonts weren't displayed properly.
GA89010373 - Removed disabled from user scalars.
GA89010402 - Disabled all calibration-modifying menu options while background
loading.
GA89010325 - Enabled new functionality for 'fuel map throttle' option such that
enabling the option changes the fuel map to use the 'fuel throttle' map and
disabling it changes it back to use the fuel map.
GA89010341 - Fixed bug whereby changing parameters in internal logging window
whilst internal logging is operating crashes the system.
UNTRACKED - Added to File | Export the ability to specify an old GDF file style.   

AEMPro V3.16 built on GW 017
----------------------------

GW 017
======
GA89010363 / GA89010365 - Modified entire open/save dialog box system to utilise
a central class. This enables memory of specific directory choices for different
file types including sub-directories of the executable path called "Templates",
"Dashboards", "FIN Files", "GIN Files", "Calibrations", "Log Files" and
"Import-Export" for menus and user scalars.
GA89010397 - Fixed bug whereby resetting table and map states effected the
displayed values and showed them incorrectly.
GA89010271 - Custom option window hexadecimal values now work correctly.
GA89010390 - Copy button added to compare windows.
GA89010229 / GA89010349 - Word writes enabled for uploading calibrations.  This
can be turned off by defining _BYTE_WRITES_ONLY_
GA89010350 - Templates now auto-run on background.
GA89010268 - Edit | Copy/Paste bug fixed for custom option windows
GA89010211 - Added shortcut keys F9-F12 for first 4 template buttons.
GA89010182 - Cannot reproduce this bug - first time on using multi-layered
menus after warning and click OK it throws an exception.
GA89010212 - Fixed bug whereby graphical tables and map slices were setting
values to zero occasionally.
GA89010216 - Fixed log map bugs.
GA89010239 - Multi-layer menu fixed where if a map/table/option etc. was
assigned to more than one menu, removing it still adds it to the unassigned menux
GA89010362 - Fixed up/down move button crash on multi-layer menu window.
GA89010269 - Fixed bug where -ve reciprocals weren't converting to the nearest
value or setting to the minimum possible value when exceeded.
GA89010270 - Fixed bug whereby exceeding function table converted option
max/minimums sets the wrong value.
GA89010275 - Fixed table bug where selections on one table weren't always
reflected in the other.
GA89010276 - Fixed bug where table tables in graphical view don't display the
highlights properly
GA89010277 - Fixed undo failures on graphical views of tables when modified
using the +/- keys.
GA89010278 - Fixed bug where using + key on high bit graphical view of a table
doesn't operate correctly
GA89010281 - Similarly fixed bug where modifying a low big table using + key in
graphical view has side effects on the high bits of the location modified.
GA89010282 - Similarly, fixed reciprocal graphical table view +key bug.
UNTRACKED - long files names crashing GWv3 fixed.
GA89010283 - Maps update selection areas in tables and graphs correctly.
GA89010285 - 3d map graphs axes now draw correctly in square mode.
GA89010286 - Changing MSPB now updates fuel map views appropriately.
GA89010287 - Optimise/rescale fuel map now updates options.
GA89010288 - Map slice x axis bug using +/- where end points weren't drawn
correctly
GA89010291 - Read-only map slices cannot now be edited
GA89010289 - Fuel map slices draw by pulse width/duty cycle if selected
GA89010294 - Notes not being viewed properly if a GIN file was created with a
log map with no base map.
GA89010298 - If no ECUs are installed, File | New no longer shows the form.  
GA89010299 - File | Convert with no ECUs installed no longer allows file
selection.
GA89010300 - Empty reopen menu is now greyed out
GA89010301 - Reopen list is checked at start up to ensure validity of all files.
GA89010304 - ECU install dialog now remembers its directory.
GA89010308 - Reorganised menus such that notes and internal logging only appear
in the view menu when not assigned to another menu. 
GA89010364 - Map slice window target now the same background colour as the form.
GA89010359 - Run | Templates selecting all templates allows all gtp files to be
viewed.
GA89010290 - Maps using user scalars now operate correctly.
GA89010337 - Fixed bug whereby downloading internal log while PC-based logging
is underway throws exception.
GA89010375 - Writeable parameters could be written to offline.

GW 016
======
HKS V3.12 Release 3 built on GW 016
-----------------------------------
GWv3 V3.12 Release 2 built on GW 016
------------------------------------

UNTRACKED - Added new vehicle speed activation to Configure Outputs dialog
UNTRACKED - Ctrl key now works for large increases in ScalarWnd
UNTRACKED - Optimise Fuel Map is now hidden in AEM versions - this is a temporary
   mod whilst bugs in the fuel map optimisation are resolved. See line 278
   in MapWnd.cpp.
GA89010347 - FuelModWnd - Old injectors now have lbs/hr available as an option
GA89010352 - HKS/Mick Clarke - Added trim control as requested -
   #define _ADD_TRIM_CONTROL_ (in project conditional)

AEMPro V3.15 Release 8
----------------------
GA89010396 - Fuel options not setting correctly when swapping between primary
and secondary fuel.

AEMPro V3.15 Release 7 built on GW 015
--------------------------------------

GW 015
======
GA89010328 - Added version info to splash screen
GA89010326 - Added filename to Save as... dialog box.
GA89010324 - Bug in option user scalars whereby they aren't automatically
loaded under all conditions, particularly on ECU upload.
GA89010306 - Added the functionality to redraw tables and maps using option user
scalars.
GA89010332 - Fixed '-' key problems in ScalarWnd.

GW 014
======
GA89010323 - Fixed rescale/optimise functionality in fuel maps such that when
the map contains the same value throughout, the map is not filled with zeros.

GWv3/HKS V3.12 Release 2 built on GW 013
----------------------------------------
AEMPro V3.15 Release 6 built on GW 013
--------------------------------------

GW 013
======
UNTRACKED - Modifications to ConnectWnd such that secure uploads operate.
GA89010280 - Modifications to gcom.cpp to prevent exception on ECU connect,
physical disconnect, calibration change, disconnect. WaitForECUCommands modded
such that it tests for ECU online prior to testing the count of outstanding
commands.
GA89010316 - Fixed non-fuel map graphical view site value bug showing raw view.
GA89010317 - Modified AEMPro to always use background loading.
GA89010305 - Fixed bitmasked maps and tables to convert properly. Mods to inimap
required to fix this.

AEMPro V3.15 Release 5 built on GW 012
--------------------------------------

GW 012
======
Modifications of ConfWizWnd added such that multiple .GIN/.FIN/.GDF files can
be utilised as per the latest release of AemSetupWizard.
Modifications to ConvertWnd.cpp such that all user scalars are disabled prior
to conversion.

GWv3/HKS V3.12 Release 1 built on GW 011
----------------------------------------

GW 011
======
GA89010307 - Fixed map axis label bug where XTitle or YTitle appeared.
UNTRACKED - Changed convert to compare case-insensitively.

AEMPro V3.15 Release 4 built on GW 010
--------------------------------------
GW 010
======
Modified gcom.cpp and templates.cpp to enable the use of templates with the
CustomGenOPWnd windows.
GA89010260 - Changing the calibration name of a file now sets the calibration
changed status, saves the file to the correct name (if save as cal name is
checked) and adds the file to the reopen list.
GA89010236 - Fixed bug whereby if engine was running no notification was
displayed. (Knock on effect of consolidating code in ConnectWnd).
GA89010292 - Fixed bug where tabular views of maps weren't working properly
the vast majority of the time.
UNTRACKED - Major modifications to map windows (MapWnd, MapGraphWnd, Map3d) to
use a common interface for the map between each window. Will be carried through
to slices too - 'mapinfo.cpp'
GA89010240 - Graphical view menus all now work.
GA89010262 - +/- key functionality added to custom option windows.
GA89010264/GA89010263 - Fixed bug where custom windows don't show changes made
externally.
UNTRACKED - Changes made to OPConfig tidying up and C++ing.
UNTRACKED - Major modifications made to ScalarWnd.cpp to utilise a control grid
as opposed to a string grid facilitating...
GA89010265 - Fixed focus problems when moving rows in ScalarWnd using the tab
key.
GA89010293 - Options are redrawn after the AEMInternalLogging options are
changed.
GA89010272 - Custom options no longer allow editing of read-only options.
UNTRACKED - Modifications to gcom for import/export of menus. Previous menu
files are no longer valid as the format has changed to allow for hidden menus
which were previously omitted.
GA89010302 - Added T/O/P bitmaps to identify menu entries for
template/option/parameter menu configurations.
GA89010234 - Locked/unlocked headers in param/option windows fit to window.
GA89010235 - File | Compare uses the current version.
GA89010238 - View menu no longer shows used items in AEMPro
GA89010261 - Fixed calibration name bugs including no extension, not added to
re-open list and changed flag.
GA89010266 - Up/down keys move selection in an option list window.
GA89010267 - Copy/paste implemented in option list and full option window.
GA89010272 - Custom option list read-only options are now read-only.

AEMPro V3.15 Release 3 built on GW 009
--------------------------------------
GWv3 V3.11 Release 2 Built on GW 009
------------------------------------

GW 009
======
Fix to allow calibration to be uploaded to the ECU. Error caused by tidy up to
the comms library.

GWv3 V3.11 built on GW 008
--------------------------

GW 008
======
Re-instated all pre-compiled headers.

AEMPro V3.15 Release 2 built on GW 007
--------------------------------------

GW 007
======
Print window changed to look nicer.
Print window draw grid now resizes correctly to show control bars.
GA89010195 - Mods to template button configurator indicating when no buttons
are configured.
GA89010190 - MultiLayerMenuWnd layout changed to increase space for available
items window.
GA89010173 - Changed ECU |Download log to prevent download if the engine is
running. Many changes to the ConnectWnd file and the removal of the
DownloaderWnd with it's functionality replaced in ConnectWnd.
GA89010188 - Modified menu label dots (New... etc) to be consistent.
GA89010196 - Modified MapGraphWnd / map3d to correctly show the different
fuel map windows
GA89010068 - Fixed incorrect map graph drawing during a value change.
GA89010086 - Added shortcut 'm' button press in MapGraphWnd to show same pop-up
menu as on MapWnd.
GA89010199 - Ctrl L shortcut added to insert a hand marker during logging.
GA89010197 - Added automap and pc logging status windows to status bar.
GA89010202 - Added file | reopen menu
GA89010205 - Fixed bug whereby attempting file | Upload and entering a
non-existent file causes exception.
GA89010193 - Added F5 shortcut for activate/deactivate key mode while on-line.
GA89010172 - Fixed issue where connecting to the ECU asked if a save of the
workmap was required.
GA89010148 - Remember assigned parameter rates.
GA89010198 - Added log maps and internal logging to menu configurator.
GA89010204 - Added notes area to open/save file dialogs.
GA89010206 - Keymode setup dialog showing junk parameter on insert fixed.
GA89010209 - Added F6 shortcut for logging start/stop and save.
GA89010210 - Change visibility of automapping pop-up window menu items in logwnd
GA89010207 - Changed wording for key mode.
GA89010208 - Changed AEMIntLog to allow editable log conditions.
GA89010166 - Ctrl-C/Ctrl-V added to main menu and tables and maps.
GA89010233 - Added hourglass cursor on entering/exiting multilayermenuwnd.
GA89010223 - Added notes to configurable menus.
GA89010215 - Log maps added to view after configuring.
GA89010222 - Removed menu icons from AEMPro
GA89010224 - In options | configure outputs | functions | afr warning,
renamed AFR#1(2) Min => AFT 1(2) Rich Limit and AFT#1(2) Max => AFR 1(2)
Lean Limit
GA89010221 - Added pull-down list box for option-list options in the output
configurator.

GW 006
======
GA89010169 - Remove trim control/program parameter functionality. To
re-implement the flag _ADD_TRIM_CONTROL_ needs to be defined.
GA89010167 - Fixed issue in tablewnd whereby pop-up menu commands that change
values were denied if a dongle was not attached.
GA89010181 - If 'check all files' checked, check in the current directory.
GA89010165 - Changed converter form title
GA89010164 - On converting calibrations, if nothing left to convert, don't ask
if they want to convert by com code.
GA89010162 - Changed DifferenceWnd and CompareXVerWnd to use list box rather
than combo box.
GA89010163 - Changed headings in CompareXVerWnd from 'Added' and 'Removed' to
'Only in' and 'Not in'
GA89010160 - Removed read-only checkbox from ECU | Install
GA89010158 - Re-ordered menus including moving parameter menu back to view.
GA89010180 - Added conditions to internal logging setup window. Modified the
window significantly including change to modal window.
GA89010157 - Removed .GDF from file exports.
GA89010184 - Remove 's' shortkey to MapGraphWnd from log and target automapping
windows.
GA89010178 - Fixed colour problems when printing graphical tables/maps
GA89010177 - Added hourglass cursor when printing
GA89010176 - Added printing of custom option windows
GA89010179 - Added selected printer and printer setup button to print dialog,
removed printer setup from file menu.
Stopped download of logged data from saving the previous download if no data
exists for downloading.
GA89010174 - Parameters using user scalars didn't seem to be loaded - fixed.
GA89010170 - Added functionality to allow a template button to be setup from a
save of a template
GA89010187 - Changed colour config window heading to Configure Colours
GA89010192 - Hide the available group box when templates is selected in the
multi-layer menu window.
GA89010191 - Add ctrl-f/ctrl-i for fuel and ignition graph short cuts

GW 005
======
Changed undo/redo icons.
Mods to log window to 1) stop unresponsiveness while logging, 2) hopefully
prevent 0/255 values appearing on occasion.
Mods to map window to prevent continuous redrawing. Also in target and log maps.
Unsure as to why this is happening but apparently drawing onto the canvas of a
TImage causes a FormPaint event to be signalled.
GA89010060 - Add multi-layer menus. Includes import/export and import from old
style menus.
GA89010156 - Fix for auto-mapping dumping zeros in the map.
GA89010183 - Fixed GEMS and GWv3 messages in AEMPro about and menu conversion
windows.

GW 004
======
GA89010121 - Allow options to be copied in difference window (for same ECU type)
GA89010153 - Add option lists. Added handling for option lists as a combo box
in CustomGenericOPWnd. OptionWnd operation seems to have fallen out in the wash,
options can be selected using the +/- and up/down buttons (or by typing the
exact name).
GA89010122 - Add ECU|Verify option. Uses background load form which actively
changes the workmap while uploading. Indicates verification complete or shows a
difference form.

GW 003
======
Modifications to about and splash screens to show development version. Signalled
by version info "Comments" = "DEV".
GA89010110 MenuConfig.cpp - Preservation of menus across versions fixed by
signalling strings in added box with object flag if not in current version.
Changed CustomGenericOPWnd to default to narrow width on start
GA89010142 About.cpp - Show full version, gemscoms version, emerald version and
required version, and windows version info.
Removed all references to PRO EFI.
Created new project file for HKS
Changed resource files for GWv3, AEMPro and HKS
Changed project settings in TC for GWv3, AEMPro & HKS
GA89010146 - Coil options not initialising fixed.
GA89010145 - Configure outputs clear button bug fixed.
GA89010077 - Refresh of options after configuring outputs/coil options.
GA89010074 - Changed map window y axis labels to fit and more width.
GA89010072 - Parameter window drawing problems fixed including out-of-range,
bars, values and other columns.
GA89010053 - Suggest recycling power on multiple verification failure.
GA89010144 - Increase limit of gauges in dash editor to 256.
GA89010006 - Display ADV(comp) in timing offset window.
GA89010149/GA89010150 - Key mode fixes to editor box KeySelWnd.cpp.
GA89010061/GA89010062 - Added resize injectors/change fuel pressure
functionality in FuelModWnd.cpp


001 - 14:24 17/07/02
====================
Combined resources from AEM and GWv3 below.

================================================================================

      A       EEEEEEE       M     M
     A A      E            M M   M M
    A   A     E           M   M M   M
   A     A    EEEE       M     M     M
  AAAAAAAAA   E         M             M
 A         A  E        M               M
A           A EEEEEEE M                 M

Modified ConfWizWnd where selecting configure | ECU setup | Run ECU setup wizard...
and no config file and continue gets stuck in a loop.

v3.14 Release 2 Beta
=====================
Copied modifications from GW005 release for auto-mapping fixes.

v3.14 Release 1 Beta
=====================
Auto mapping windows (Target map and Log map) now follow new colour scheme and
   are resizable.
User confiurable outputs have been update to reflect the names in the latest
   ECU versions
User configurable outputs now gives more indication to the user as to what
   combinations of options are available.
Injector option window greys out options if Active not set
Injector option window employs radio buttons for mutually exclusive options
Coil option window greys out options if Active not set
Coil option window employs radio buttons for mutually exclusive options

v3.13 Release 3 Build 62 - 13/6/02
===================================
Added support for automapping from GIN files

v3.13 Release 2 Build 61 - 24/05/02
===================================
Mods to menu config window and gcom such that reading the 'hidden' boolean from
the registry doesn't throw an exception message.

v3.13 Release 2 Build 61 - 24/05/02
===================================
Modified difference window to use a separate ini map for each window. Previously
this used IM2 but if more than one window was created, they weren't freed.
Mods to table window, table graph window, map window, map graph window and
map slice window to correctly label all axes and units particularly with
user scalars.
This also fixes the bug whereby 3d-maps have an occasional incorrect site value.
Fixed bug where user modifiers aren't always applied.
Removed free action from ECU status window.
Modified ECU status window such that on a close it waits for all other windows
to close before terminating. The ECU Status window closes the comms library and
so this removes the problem of a window trying to call the library to cancel its
requests.
Modified connect window such that if the checksums are incorrect the workmap
inimap structure is freed.
Major modifications to X grid font size stuff. Prevents creating a new font
except where it changes. Resizes the font correctly if it doesn't fit.
CommsWnd, ConfWizWnd, ECUStatusWnd moved back all close window functionality
to destroy window.

V3.13 Build 60 - 21/05/02
=================================
Mods to ProcessLog to fix delete bug.
Changed all code using FormDestroy to use FormClose. This includes:
CommsWnd, ConfWizWnd, DownloaderWnd.
Modified file conversion process such that the user has the option to convert
by com code. All changes are noted in the notes. Also modified the conversion
process to compare all names with white space removed such that 'O2 FB' is
successfully converted to 'O2FB'.
Modified file comparison (difference window) to allow selection of lines and
copying of option, table and map information from the comparison file to the
current file.
Mod to ScalarWnd to assure char buffer is long enough for name.
Mod to throttle set functionality to set minimum/maximum TPS correctly. Problem
stemmed from not converting TPS raw to a real value, then converting the real
value back to a raw using the TPS min/max scalars and setting the value.

V3.12 Release 1, Build 58 - 07/05/02
=====================================
Added functionality to disable auto-baud rate detection and any associated
access.

v3.11 Release 1, Build 58 - 03/05/02
=====================================
Mods to ini file structure and new version (v3.08) - see GWE for history.
Mods to re-introduce option scalars.
redraw.cpp - mods to re-enable user scalars.
ussetupform.cpp mods to allow the 'default' (from .GIN/.GEMS file) to be
   included as well as a disabled replacing the old default label.
optionwnd.cpp/scalarwnd.cpp - re-enabled redraw for user scalars.
mods to accept new flag message from comms library when baud rate changes on
   auto detection.
mods started on map slices.

v3.10 Release 1, Build 60 - 29/4/02
===================================
Support for v2 style GIN files
User units changed slightly
Floating point values can now be entered in tables
Downloaded log data is now decoded correctly so that slow and fast channels tie in
User Selectable Units table updates when new units are selected
PC Logging now implements user scalars correctly
Small memory allocation bug on File Close fixed

v3.09 Release 1, Build 58 - 25/4/02
===================================
Cut and paste now works correctly with data from Microsoft Excel spreadsheets
In 3D graphs, Shift with the cursor keys now selects an area
-> Table button in 3D graph no longer hogs keyboard input once it is pressed
X and Y Map slices now auto scale to the maximum value in the map
Workmaps are now saved with the .ECUName.Version extension
File Compare Dialogs made more consistent
Ignition Setup - Advance & Retard now work the right way round
Support for COM ports up to COM 10

v3.08 Release 1, Build 53 - 14/3/02
===================================
Additional error handling built into the log file download
User scalars are now much more user-friendly and can be switched between eg kPa
   and Bar very easilly.

v3.07 Release 5, Build 45 - 8/3/02
==================================
Fixed problem with menu import that could cause multiple entries to be added.
Trying to convert calibrations for versions that aren't installed no longer
   crashes the software.
The convertor now converts user assigned maps correctly

v3.06 Release 5, Build 44 - 6/03/02
===================================
Fixed problem with user scalars on table axis labels
User scalars now work with PC logging

v3.05 Release 5, Build 44 - 1/03/02
====================================
Internal logging now prompts for log notes after download
Floating point table axes are now displayed correctly when main table is not fp
More informative error messages when converting a log file
Internal logging setup is now validated on connection to ECU and user warned if
   any of the logged parameters are undefined
Support fopr up to 10 modifiers added (previously 8)
If modifier count is exceeded, the software will now complain gracefully instead of
   crashing!
User scalars are now incorporated into the calibrations in logged data.
Selecting Show Named in configure outputs when no outputs have been named no
   longer causes problems.
Fuel Pump function added to the function list in configure outputs.

v3.04 Release 5, Build 42 - 22/02/02
====================================
Internal logging setup now only resets the log if the setup has been changed.
Internal logging is reset after uploading a calibration to ensure log is
   correctly synchronised.
Calibration upload dialog now shows ECU name filter correctly

v3.03 Release 5, Build 38 - 21/02/02
====================================
Bug fixed where tables with table axis did not display correctly
Options windows can now be resized vertically

v3.02 Release 5, Build 34 - 19/02/02
====================================
File Import and Export been removed as they are no longer applicable.
All calibration file operations now use standard windows dialogs. Calibrations
   now have the extension .Name.Ver.gdf to allow easy differentiation between
   calibrations.
Crashes caused by a bug in the compare window fixed.
By default, the converted calibration now has the same name as the original. 
Converted calibrations are automatically opened after conversion.
+/- keys can be used to increment/decrement writable options in all windows.
Ignition setup now adjusts all Ign Tooth #x options by the same amount thus
   preserving the same separation.


v3.01 Release 5, Build 31
=========================
Minor tidy-ups

v3.00 Release 2, Build 20
=========================
Initial Release

================================================================================

 GGGG   W         W            3333
G    G  W         W           3    3
G        W       W                 3
G  GGG   W       W   v     v     33
G    G    W  W  W     v   v        3
G    G    W W W W      v v    3    3
 GGGG      W   W        v      3333

GWv3 v3.08 Build 24 - 16/07/02
==============================
Added compare across versions. Implemented under File | Compare but allows the
user to select a different file type.
Mods to prevent crashing when changing parameters whilst logging and
saving logs.
Mods to potbox windows to disable them by default. Existing potbox users will
need to re-enable them by selecting ECU | Configure potboxes...
Mods to fix shared bit-based maps (eg bits 0-3 map1, 4-7 map2) which exhibit
offline mod problems whereby the other map is cleared. Also for tables.
Changed option window to be sensible width and alpha-sort by default. 

GWv3 v3.07 Build 23 - 12/7/02
=============================
Fixed bug with undo/redo that shagged 16 bit maps
Fixed bug with x axis labelling on map tables
Map table window is now drawn correctly on first draw
Maps with a small number of columns are now drawn correctly in the Map table
Automapping functions now supported in GIN files
Automapping windows are now coloured correctly
Fixed bug where converting between files caused zeros in some converted maps,
tables and options. Cause: when calculating the max and min values for a comtype
it doesn't check if the user scalar multiplier is -ve.
Modified menu configuration to allow hiding of option and parameter menus.
Modified template configuration to work correctly.
Modified template buttons to introduce 100+ more button images. Also modified
the image list that the menu bar uses.
Added 'key mode' to allow user-selectable key presses to effect changes to
modifiable parameters, options, tables and maps while on-line. Also status bar
changes to show key mode.
Tried to fix bug whereby the menu appears in the status bar, modified tool bar
drawing routines to all be in one function.

GWv3 v3.06 Build 21 - 6/6/02
============================
Added Beta status notification in Help About
X axis site label is shown in top right hand corner on X and Y slices
Mods to table window, table graph window, map window, map graph window and
map slice window to correctly label all axes and units particularly with
user scalars.
This also fixes the bug whereby 3d-maps have an occasional incorrect site value.
Fixed bug where user modifiers aren't always applied.
Removed free action from ECU status window
Modified ECU status window such that on a close it waits for all other windows
to close before terminating. The ECU Status window closes the comms library and
so this removes the problem of a window trying to call the library to cancel its
requests.
Modified connect window such that if the checksums are incorrect the workmap
inimap structure is freed.
Major modifications to X grid font size stuff. Prevents creating a new font
except where it changes. Resizes the font correctly if it doesn't fit.
CommsWnd, ConfWizWnd, ECUStatusWnd moved back all close window functionality
to destroy window.
Mods to menu config window and gcom such that reading the 'hidden' boolean from
the registry doesn't throw an exception message.

GWv3 v3.05 Build 18 - 22/05/02
==============================
redraw.cpp - mods to re-enable user scalars
ussetupform.cpp - mods to allow the 'default' (from .GIN/.GEMS file) to be
   included as well as a disabled replacing the old default label.
optionwnd.cpp/scalarwnd.cpp - re-enabled redraw for user scalars.
Mods to ProcessLog to fix delete bug.
Changed all code using FormDestroy to use FormClose. This includes:
CommsWnd, ConfWizWnd, DownloaderWnd.
Modified file conversion process such that the user has the option to convert
by com code. All changes are noted in the notes. Also modified the conversion
process to compare all names with white space removed such that 'O2 FB' is
successfully converted to 'O2FB'.
Modified file comparison (difference window) to allow selection of lines and
copying of option, table and map information from the comparison file to the
current file.
Mod to ScalarWnd to assure char buffer is long enough for name.
Modified difference window to use a separate ini map for each window. Previously
this used IM2 but if more than one window was created, they weren't freed.
Modified table graph window to show y axis units when user scalars applied.

GWv3 v3.04 Build 17 - 08/05/02
==============================
Moved FormDestroy code to FormClose in ECUStatusWnd. Fixes occasional bug of
closing on disconnection from the ECU. Nope!

GWv3 v3.04 Build 15 - 03/05/02
==============================
Mods to ini file structure and new version (v3.08) - see GWE for history.
Mods to re-introduce option scalars.
redraw.cpp - mods to re-enable user scalars.
ussetupform.cpp mods to allow the 'default' (from .GIN/.GEMS file) to be
   included as well as a disabled replacing the old default label.
optionwnd.cpp/scalarwnd.cpp - re-enabled redraw for user scalars.
Mods to accept new flag message from comms library when baud rate changes on
   auto detection.
Fixed mouse/keyboard selection/change of map slices

GWv3 v3.03 Release 1 Build 11 - 22/4/02
=======================================
Workmaps are now saved with the .ECUName.Version extension
File Compare Dialogs made more consistent
Support for COM ports up to COM 10

GWv3 v3.02 Release 1 Build 10 - 10/4/02
=======================================
Import only allows .HEX and .DO files to be imported
Selected areas can now be incremented and decremented using + and - keys
-> Table button in 3D graph no longer hogs keyboard input once it is pressed
X and Y Map slices now auto scale to the maximum value in the map

GWv3 v3.01 Release 1 Build 9 - 8/4/02
=====================================
Cut and paste now works correctly with data from Microsoft Excel spreadsheets
A warning message is now shown in the status bar if the ECU goes offline
In 3D graphs, Shift with the cursor keys now selects an area

GWv3 v3.00 Release 1, Build 7 - 18/3/02
=======================================
Initial release of new Gemscom for Windows. For full details of the changes
between GW95 and GWv3, see the GWv3 documentation.
